SSH_密钥登入

前序

rpm -qa | grep ssh #查看ssh服务是否安装
yum -y install openssh-server #安装ssh服务
service sshd status #查看SSH服务是否正在运行
systemctl status sshd #查看SSH服务是否正在运行
service sshd restart #重启SSH服务。
netstat -ntpl | grep sshd #查看是否在监听ssh端口

生成RSA密钥对

第一种方法:
ssh-keygen -t rsa -P '替换成你的证书密码'
一路回车,然后下载/root/.ssh/id_rsa到本地ssh客户端软件中
mv /root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys
也可以移动到
第二种方法:
采用Xshell或其他ssh客户端软件生成RSA密钥对
将公钥导出,传至ssh服务端的用户家目录.ssh目录中

修改ssh配置文件

vim /etc/ssh/sshd_config
RSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公匙认证
AuthorizedKeysFile ~/.ssh/authorized_keys #公匙路径 (此处文件名必须与.ssh目录中的一样)
PasswordAuthentication no #关闭密码登入认证
PermitEmptyPasswords no #不允许空密码登入

重启ssh服务

service sshd restart #CentOS6命令
systemctl restart sshd #CentOS7命令

问题:

设置ssh免密码登陆的时候,发现有一些机器设置不生效。有一些机器正常。(一般root用户会直接生效);
登陆目标机器,查看sshd的日志信息。日志信息目录为,/var/log/secure
你会发现如下字样的日志信息。
Jul 22 14:20:33 v138020.go sshd[4917]: Authentication refused: bad ownership or modes for directory /home/xinhailong
原因:
sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
thorized_keys权限限必须为600
解决方法
检测目录权限,把不符合要求的按要求设置权限即可。

你可能感兴趣的:(SSH_密钥登入)