测试系统信息:
1.在目标机器中添加文件
vi /root/.ssh/authorized_keys //创建文件authorized_keys, 需要使用哪个用户登录,就在对应的用户目录下添加authorized_keys
authorized_keys 存放公钥,远程使用私钥登陆
chmod 600 /root/.ssh/authized_keys //加权限
chmod 700 /root/.ssh/ //加权限
2.添加公钥到文件内(id_rsa.pub)
vi /root/.ssh/authorized_keys
编辑3.编辑ssh配置文件:
vi /etc/ssh/sshd_config //编辑ssh配置文件
- PasswordAuthentication no //禁止使用基于口令认证的方式登陆,默认yes,可选项
- PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆,必选项
- RSAAuthentication yes # 启用 RSA 认证 ,可选项
- AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径,可选项
- PermitRootLogin yes # 禁止root远程登录,可选项
4.重启sshd服务
/etc/init.d/sshd reload
service sshd restart
完成!
错误补充:查看防火墙是否开启,端口是否配置正确
补充: 生成密钥方式
1.命令生成方式
ssh-keygen -t rsa
密钥名称和密码可以不填 默认即可,密码默认空
编辑2.工具生成方式
xshell 或其他类似工具即可
编辑 编辑 编辑 编辑 编辑问题:使用命令方式登录仍然提示需要输入密码 ssh user_name@172.18.2.121
排查: 使用 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 修改文件或目录权限
Original: https://www.cnblogs.com/xysgo/p/16592298.html
Author: 菜阿
Title: 记一次配置Linux服务器配置ssh登陆方式
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/601584/
转载文章受原作者版权保护。转载请注明原作者出处!