如何轻松搞定SSH CentOS无密码登录
嘿,朋友们!今天咱们来聊聊一个超实用的技术话题——怎么在CentOS系统里设置SSH无密码登录,这招儿可是能让咱远程管理服务器时省不少事儿呢,特别是对于刚入门的新手小白来说,掌握了它,那可就像打开了新世界的大门呀,你是不是也经常为每次输入密码的繁琐而头疼呢?别急,下面就让我一步步带你了解清楚。

一、啥是SSH和为什么搞无密码登录?
先简单说说SSH哈,SSH呢,全称是Secure Shell,简单来说就是一种让咱能在本地电脑和远程服务器之间安全通信的方式,就好比你想从家里(本地电脑)去邻居家(远程服务器)串门拿东西(操作数据),SSH就是那条安全的路子,保证你在这条路上走的时候,别人不会偷看你拿啥或者使坏。
那为啥要搞无密码登录呢?你想啊,每次你都得输入那一长串密码,要是记性不好,老是输错,多闹心呐,而且有些时候,你可能要在脚本里自动执行一些远程操作,总不能老让人家手动输密码吧,这时候无密码登录就派上用场啦,它能大大提高咱的工作效率呢。
二、开始之前的小准备
在正式动手设置之前,咱得先确保几件事儿哈,你得有两台机器,一台是本地的客户端电脑,另一台就是咱要管理的远程CentOS服务器啦,然后呢,这两台机器都得能互相“看得见”,也就是网络得通着,能ping通对方才行哦,还有啊,你得有这两台机器的管理员权限,不然有些操作咱可干不了呀。
三、生成密钥对,这是关键的第一步

咱得在本地客户端电脑上生成一对密钥,一个是公钥,一个是私钥,这俩就像一对钥匙和锁,公钥咱可以随便给出去,但是私钥可得牢牢攥在自己手里,千万不能弄丢咯。
具体咋操作呢?打开你的终端(在Windows上可以用Git Bash这类工具模拟终端哦),然后输入这么个命令:sshkeygen t rsa
,回车之后呢,它会问你把密钥存哪儿,你就按它默认的路径存就行,一般就在家目录的.ssh文件夹下面,接着会让你输个密码给私钥加密,这个密码你可以设也可以不设,不过为了安全起见,还是设一个比较好,当然别设太简单的哈,不然容易被人猜出来。
等它生成完了,你就会在.ssh文件夹里看到两个文件,一个叫id_rsa
(这就是私钥),另一个叫id_rsa.pub
(这就是公钥)。
四、把公钥放到远程服务器上
现在咱得把刚才生成的公钥文件弄到远程的CentOS服务器上去,怎么传过去呢?有多种方法哦。
方法一:用SCP命令
如果你之前已经能通过密码登录到远程服务器了,那可以用scp
命令,在终端里输入:scp ~/.ssh/id_rsa.pub user@remote_server_ip:/home/user/.ssh/
(这里把user
换成远程服务器的用户名,把remote_server_ip
换成远程服务器的IP地址),回车之后,按提示输入密码,就能把公钥传过去啦。
方法二:用SFTP
要是你觉得scp
不太好使,也可以用SFTP软件,像filezilla之类的,连接上远程服务器后,找到对应的目录,把公钥文件拖过去就行,简单直观。
公钥传过去之后,咱还得把它追加到远程服务器的authorized_keys
文件里,在终端里输入:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
,这一步就是告诉服务器,这个公钥对应的私钥持有者是可以不用输密码就直接登录的哦。
五、测试一下,看看能不能行
都弄好了之后,咱得赶紧测试一下能不能真的无密码登录呀,再打开一个终端窗口,输入:ssh user@remote_server_ip
,如果一切顺利的话,直接就登录到远程服务器的命令行界面啦,不用再输密码咯,是不是感觉一下子轻松了很多呀?
六、可能遇到的问题及解决办法
问题一:Permission denied (publickey)
哎呀,要是出现这个错误提示,别慌,有可能是公钥的权限没设置对,在远程服务器上,输入:chmod 600 ~/.ssh/authorized_keys
,给它设置正确的权限,然后再试试。
问题二:Connection refused
要是显示连接被拒绝,那咱得先看看服务器上的SSH服务开没开呀,在远程服务器上输入:systemctl status sshd
,看看状态是不是active(正在运行)的,如果是inactive(未运行),那就输入:systemctl start sshd
把它启动起来,然后再检查一下防火墙设置,是不是把22端口(SSH默认端口)给封了,要是封了就放开呗。
七、个人观点和小建议
我觉得设置SSH无密码登录真的是个超方便的功能,特别是对于咱这些经常要和服务器打交道的人来说,不过呢,虽然它方便,但咱也得注意安全呀,那个私钥文件可一定要保管好,别到处乱放,最好设置个复杂点的密码给它加密,而且定期换一换密钥对也是不错的习惯呢,这样能降低安全风险。
好啦,今天关于SSH CentOS无密码登录的事儿就给大家讲到这儿啦,希望对刚入门的朋友们能有点帮助哦,其实Linux系统里还有好多好玩又实用的东西等着大家去探索呢,只要多动手试试,你就会发现越来越有意思的哈,加油呀,朋友们!