SSH免密码设置和失败解决办法

it2024-03-19  63

本文系转载,出处:https://developer.aliyun.com/article/250811

先复习一下设置ssh免密码操作的步骤:

进入主目录,直接执行cd即可,默认目录就是。

cd

生成公钥

ssh-keygen -o

然后连续回车即可。

ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@对方机器IP (注意不要忘记了参数-i)

注:ssh-copy-id -i 是最简单的办法,如果不用这个,就得分二个步骤:

a) 先scp 将本机的id_rsa.pub复制到对方机器的.ssh目录下

b) 在对方机器上执行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 导入公钥

上面的操作完成后,就可以用 ssh 对方机器IP 来测试了,顺利的话,应该不会提示输入密码。

如果失败,有可能是以下原因:

1、目标机器权限问题

待ssh进入机器的~/.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整

sudo chmod 700 ~/.ssh sudo chmod 700 /home/当前用户

~/.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整

sudo chmod 600 ~/.ssh/authorized_keys

2、/etc/ssh/sshd_config文件配置问题

编辑

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes #PasswordAuthentication no #PermitEmptyPasswords no #RSAAuthentication no #PubkeyAuthentication no

改成

StrictModes no PasswordAuthentication yes PermitEmptyPasswords yes RSAAuthentication yes PubkeyAuthentication yes

如果还不行,可以用ssh -vvv 目标机器ip查看详情,根据输出内容具体问题具体分析了

最新回复(0)