天天看点

linux服务器登录认证失败,linux 自动认证登录SSH以及特殊错误

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 ~/.