当前位置:   article > 正文

mac 登陆linux 密钥,mac/linux ssh 免密码登陆配置及错误处理(示例代码)

mac用密钥登录linux认证失败

先说一下,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

会提示类似信息:

…………

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

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

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

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

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

Oct7 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

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号