真的万万没想到一个终端远程登录阿里云就搞了我一个下午。。。。。
这些是我搜到的关于这个问题的相关帖子:
https://help.aliyun.com/document_detail/25434.html?spm=a2c4g.11186623.2.28.31897394pz6aGO#h2-url-4
https://yq.aliyun.com/articles/350061
https://blog.youkuaiyun.com/gigijingjing/article/details/76726564
官方给出了两种方式解决:
第一种是用密码:cat /etc/ssh/sshd_config 查看PasswordAuthentication 这个属性要设置为yes,使用命令systemctl restart sshd.service 重启服务即可连接(这种方式使用阿里云网页版远程连接操作)
第二种 使用密钥:直接使用密钥会提示权限太大(permissions 0644 for 'XXX' too open),
修改权限 sudo chmod 600 aliyun.pem
登录 ssh -i aliyun.pem root@公网IP
我先说第二种,第二种方法实际执行起来,需要你在阿里云网页版的安全设置里面,手动设置一个密钥,然后设置成功的时候就会被下载下来,建议把它移动到/User/XXX/.ssh/这个地方,然后:
$ chmod 600 /Users/XXX/.ssh/XXX.pem
$ ssh -i /Users/XXX/.ssh/XXX.pem root@47.101.178.42
我自己用的是第一种方法:
查看ssh配置:cat /etc/ssh/sshd_config
更改ssh配置:sudo vim /etc/ssh/sshd_config
查看的时候,PasswordAuthentication 这个属性是yes呀,为毛还是不行呢?后来才发现PasswordAuthentication前面有个#,emmm那就修改把#去掉,然后wq!保存吧~
结果还是不行???emmm?怎么回事?我要发飙了!
机智的我试了一下别人的IP地址,发现咦,别人的竟然可以弹出root@XX's password:这个界面,我的IP地址却依旧是Permission denied (publickey)。那肯定是我的阿里云出了问题,而不是我的终端出现了问题。
后来搜了搜,发现需要在安全设置里面,打开终端可以供远程连接的端口。其实它自带了一个可以支持远程连接的端口,不知道为什么不行,反正我的解决办法就是重新添加了一个ssh端口。
试验了可以~