linux 自动认证登录SSH以及特殊错误

2017-08-08  本文已影响0人  爱蛇

1.客户端生成公钥

ssh-keygen -t rsa

然后不用输入任何东西,连续按回车,生成id_rsa.pub 和id_rsa文件

2.将客户端的公钥黏贴到服务器上

登录服务器, 将客户端id_rsa.pub 的内容,
追加到 {账号的home目录}/.ssh/authorized_keys文件中

3.修改服务器ssh 配置,启用rsa认证方式

vim /etc/sshd_config
是sshd_config配置文件,不是ssh_config
sshd_config是作为ssh服务被连接时的配置文件
ssh_config是作为ssh服务客户端的配置文件

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_key

重启ssd服务

service sshd restart

4.ssh 目录的权限配置
使用如下指令,确保 $HOME/.ssh 目录只有所有者才有权写入:

chmod 700 ~/.ssh

5.authorized_keys 文件的权限配置
使用如下指令,确保其它用户对 authorized_keys 文件没有修改权限:

chmod 600 ~/.ssh/authorized_keys

特殊错误

正常来说,执行了以上步骤,一般服务器已经可以正常完成"自动认证"。
但有一些情况还是会失败,可以通过查看ssh日志文件 /var/log/secure ,其中
有一个错误:

Authentication refused: bad ownership or modes for directory /home/jufuns

原因是我之前为了方便部署,给home目录设置了777权限,因为权限过大反而导致 自动认证 失败,
将home目录权限改为700 即可。

chmod 700 ~/.

上一篇下一篇

猜你喜欢

热点阅读