vi /root/.ssh/authorized_keys //创建文件authorized_keys,需要使用哪个用户登录,就在对应的用户目录下添加authorized_keys
authorized_keys 存放公钥,远程使用私钥登陆
chmod 600 /root/.ssh/authized_keys //加权限
chmod 700 /root/.ssh/ //加权限
vi /root/.ssh/authorized_keys
编辑
vi /etc/ssh/sshd_config //编辑ssh配置文件
PasswordAuthentication no //禁止使用基于口令认证的方式登陆,默认yes,可选项
PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆,必选项
RSAAuthentication yes # 启用 RSA 认证 ,可选项
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径,可选项
PermitRootLogin yes # 禁止root远程登录,可选项
# /etc/init.d/sshd reload
service sshd restart
完成!
错误补充:查看防火墙是否开启,端口是否配置正确
ssh-keygen -t rsa
密钥名称和密码可以不填 默认即可,密码默认空
编辑
xshell 或其他类似工具即可
编辑
编辑
编辑
编辑
编辑
排查: 使用 cat /var/log/secure 查看日志
编辑
原因:
sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600
解决: 使用命令 chmod 644 authorized_keys 修改文件或目录权限