装了个
.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
了,把里面 PermitRootLogin
和PasswordAuthentication
都改成yes
,重置一下root密码,然后用密码登了,当然这样是很不安全地。登上来检查一番,发现
~/.ssh/authorized_keys
里面内容和本地公钥一模一样,那为什么登不上去呢?问问谷歌吧。。
问完谷歌,大佬们给的解答都是
~/
,~/.ssh
和~/.ssh/authorized_keys
的权限不对。需要进行以下修改:chmod go-w /home/your-userchmod 700 /home/your-user/.sshchmod 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 /rootchown root:root /root
大功告成,继续搬砖。