用ssh远程登录linux出错解决办法
1.报错情况
ssh:connect to “my host” port22:Connection refused
从服务器端想要传输文件回本地端时,首先出现这个问题,
最开始尝试的解决办法是我没有装openssh-server
于是我用了以下两条命令
sudo apt-get purge openssh-server sudo apt-get install openssh-server
然后… 就变成了这个报错
mirlab@mirlab:~/wanglei/fma_dataset$ scp -r /home/mirlab/wanglei/fma_dataset/saved_model mer@10.141.247.205:/home/wanglei/PycharmProjects/fma_dataset
mer@10.141.247.205’s password:
Permission denied, please try again.
mer@10.141.247.205’s password:
Permission denied, please try again.
mer@10.141.247.205’s password:
Permission denied (publickey,password).
lost connection
查到原因说是我的sshd-config中没有允许root 用户登录。于是我又打开了/etc/ssh/sshd_config
sudo vi /etc/ssh/sshd_config
将其中的PermitRootLogin设置成了yes
PermitRootLogin yes
还是出现了一样的问题,然后我又继续找,找到一个办法就是在/etc/ssh/sshd_config中加一个设置
AllowUsers yourusername
这一行命令允许你的服务器连接到username为你上面设置的yourusername,其他的用户会被拒绝。
别忘了重启ssh服务
service sshd restart
最后在终端打上这行命令即可发现,你可以使用ssh连接远程的服务器端了,大功告成!。
ssh yourusername@yourhostname
2.总结
总的来说,我们需要在本地sshd_config中把你想要用的username 加入到AllowUsers中。
具体流程
sudo vi /etc/ssh/sshd_config PermitRootLogin yes AllowUsers otheruser service sshd restart