记一次配置Linux服务器配置ssh登陆方式
作者:互联网
测试系统信息:
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 修改文件或目录权限
标签:sshd,keys,配置,编辑,authorized,Linux,权限,ssh 来源: https://www.cnblogs.com/xysgo/p/16592298.html