配置ssh免密码登录步骤

配置SSH免密码登录这事儿,我可是亲身实践过的。记得那年我在公司接手一个远程服务器,那服务器就像个顽固的老头,死活不让我登录。那时候我可是费了不少劲啊。
首先,你得在你的本地电脑上生成一个SSH密钥对。我那时候用的是Linux系统,就在终端里输入:
bash ssh-keygen -t rsa -b 4096
然后按提示操作,默认路径就是~/.ssh/id_rsa,密码也默认不设置。这步很重要,因为我当时就忘了设置密码,结果后面出了不少麻烦。
接着,你需要把生成的公钥id_rsa.pub上传到服务器的~/.ssh/authorized_keys文件里。这个文件可能不存在,得先创建。我在服务器上用touch ~/.ssh/authorized_keys命令搞定了。
然后,把本地电脑的id_rsa.pub文件内容复制粘贴到服务器上的authorized_keys里。这步我可是小心翼翼的,生怕复制错了。
配置完之后,我在本地电脑上试了一下:
bash ssh username@server_ip
,居然直接就登录了,不用密码!当时我就觉得这技术真是神奇。
不过,要注意的是,如果服务器上的authorized_keys文件权限不对,可能会导致免密码登录失败。我当时就遇到过这种情况,检查了一下,发现权限是600,原来是之前配置错了。
还有啊,如果你在多个服务器上使用相同的密钥,记得在authorized_keys文件里每个公钥都要单独一行,别弄混了。
,写到这里我突然想到,如果服务器在公网上,为了安全起见,最好还是设置一下密码,然后使用密钥进行验证。这块我没碰过,不敢乱讲,但一般来说,这是比较安全的做法。
总之,配置SSH免密码登录还是挺简单的,就是得注意细节。希望我的经验能帮到你!
1. 确保本地和远程服务器上都有ssh客户端和服务端。 2. 在本地生成SSH密钥对:ssh-keygen -t rsa -b 4096。 3. 将公钥添加到本地SSH用户的~/.ssh/authorized_keys文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys。 4. 将公钥复制到远程服务器的~/.ssh/authorized_keys文件中:使用ssh-copy-id 用户名@服务器IP。 5. 测试免密码登录:ssh 用户名@服务器IP,如果成功则无需输入密码。

相关推荐