mac/linux ssh 免密码登陆配置及错误处理

Posted 怎度网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac/linux ssh 免密码登陆配置及错误处理相关的知识,希望对你有一定的参考价值。

先说一下,mac 和linux 的设置方法是一样的

一般做法可以参照http://www.tuicool.com/articles/i6nyei

第一步:生成密钥。在终端下执行命令:

ssh-kegen -t rsa

一路回车,各种提示按默认不要改,等待执行完毕。然后执行:

ls ~/.ssh
#可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)

第二步:放置公钥到Linux服务器。使用scp命令:

scp ~/.ssh/id_rsa.pub [email protected]:/home/cssor/.ssh/

然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行:

#先登录到远程服务器
cd ~/.ssh
cat -n id_rsa.pub > authorized_keys

第三步:配置本地ssh config文件。执行:(这部可有可无,加上之后以后登录就不用敲一长串服务器域名了,敲个别名就行了,建议加上)

vi ~/.ssh/config
Host zhangsan  #别名,域名缩写(注释记得删掉)
    HostName 192.168.100.100  #完整的域名
    User zhangsan  #登录该域名使用的账号名
    IdentityFile ~/.ssh/id_rsa #私钥文件的路径

经过以上操作以后,已经大功告成,感谢一同事帮忙,虽然他用的是Ubuntu系统。 
使用ssh zhangsan或ssh [email protected]就可以直接登录到远程服务器了

问题处理

如果按照上述方法操作了还是无法登陆,可先用密码登陆远程服务器然后输入命令:

用root用户登陆查看系统的日志文件:$tail /var/log/secure -n 20

 

会提示类似信息:

…………


Oct  7 10:26:43 MasterServer sshd[2734]: Authentication refused: bad ownership or modes for file /home/zhangsan/.ssh/authorized_keys

Oct  7 10:26:48 MasterServer sshd[2734]: Accepted password for zhangsan from ::1 port 37456 ssh2

Oct  7 10:26:48 MasterServer sshd[2734]: pam_unix(sshd:session): session opened for user zhangsan by (uid=0)

Oct  7 10:36:30 MasterServer sshd[2809]: Accepted password for zhangsan from 192.168.1.241 port 36257 ssh2

Oct  7 10:36:30 MasterServer sshd[2809]: pam_unix(sshd:session): session opened for user zhangsan by (uid=0)

Oct  7 10:38:28 MasterServer sshd[2857]: Authentication refused: bad ownership or modes for directory /home/zhangsan/.ssh

 

最新的日志啥意思呢? 就是说 /home/hadooper/.ssh 这个路径的文件夹权限不对

修改如下:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys 

如果不是这个.ssh 文件夹,而是用户目录,比如/home/zhangsan ,那就是你个整个文件夹的权限不对。(注:文件权限分两种 ownership or modes)

我的问题是,我的账号有root权限,我的登陆账号不是root,但是是我的文件夹的所有者的权限是root:root ,估计ssh识别不了,所以用下面的命令更改一下所

有文件夹的权限就可以了

chown -R zhangsan:zhangsan zhangsan/

至此我的问题解决了,如果你的日志中的错误信息是其他的,那就另行百度吧。 另注:我不是zhangsan

 

以上是关于mac/linux ssh 免密码登陆配置及错误处理的主要内容,如果未能解决你的问题,请参考以下文章

ssh localhost 配置免密登陆仍需要密码的解决方法

linux免密登录secure报密码过期

Linux配置SSH免用户免密码登陆

ssh 双机互信:免密码登录设置步骤及常见问题

jenkins配置ssh免密码登陆

centos7 配置ssh 免密码登陆