Back

SSH troubleshooting

Thu, May 02 20191 min read
Nathaniel
装了个.NET SDK,然后.NET SDK给我神神秘秘、鬼鬼祟祟地跑了些流程,然后我再用ssh连我的server就连不上了?出现以下提示:
xxx.pub Permission Denied(pubkey)
我就纳闷了 ,装一个.NET SDK 哪来的这么多的事,直接重新生成一个ssh key得了。
ssh-keygen -t rsa -b 4096
要用ssh key就得用安全的,4096位走起,暴力搞肯定搞不出来了。
然后就是用ssh-copy-id扔服务器上了。
ssh-copy-id -i /path/to/yourkeyfile user@your_server_ip
然后一试,哟~还是登不上去,熟悉的错误,熟悉的味道。。
ssh登不上去,只有服务商vnc连着改/etc/ssh/sshd_config了,把里面 PermitRootLoginPasswordAuthentication都改成yes,重置一下root密码,然后用密码登了,当然这样是很不安全地。
登上来检查一番,发现~/.ssh/authorized_keys里面内容和本地公钥一模一样,那为什么登不上去呢?
问问谷歌吧。。
问完谷歌,大佬们给的解答都是~/,~/.ssh~/.ssh/authorized_keys的权限不对。需要进行以下修改:
chmod go-w /home/your-user
chmod 700 /home/your-user/.ssh
chmod 600 /home/your-user/.ssh/authorized_keys*
然后我高高兴兴修改完,想着问题应该解决了,结果还特么登不上去???(此处插入黑人问号脸)
然后另一大佬给出建议,大家一起来Debug
/usr/sbin/sshd -d -p 1234
然后一连,哎呦,问题找到了,就是这个:
Authentication refused: bad ownership or modes for directory /root
chmod/root再来一发,还是不行。。
ls -l 一看,原来是ownership而不是modes的问题,合着.NET SDK把我/root/的ownership给改了。。
drwx------ 22 1004 sudo 4.0K Apr 23 21:21 root
这么一来就用chown就好啦
chown root /root
chown root:root /root
大功告成,继续搬砖。

Comments(0)

Continue with
to comment