Nathaniel's blog
Back to posts

SSH troubleshooting

Nathaniel LinMay 1, 20191 min read6 views
SSH troubleshooting

装了个.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

大功告成,继续搬砖。

Share this post

Reactions

SSH troubleshooting | Nathaniel's blog