ssh服务器的配置在名为/ etc / ssh / sshd_config的文件中完成.
您应该打开此文件并检查以下内容:
1)是否有以下任何说明?
AllowUsers ...
AllowGroups ...
DenyUsers ...
DenyGroups ...
如果是这样,您将不得不更改它以允许自己连接.
2)是否有说明说明:
PasswordAuthentication no
如果有,则表示只能通过加密密钥进行ssh身份验证.因为你显然没有,这有效地阻止你从ssh进入系统.
将此更改为
PasswordAuthentication yes
这样你就可以测试这是否是你问题的整体解决方案.一旦你说服自己ssh也为你工作,为自己建立一个加密密钥,并再次关闭PasswordAuthentication.在网上有很多关于如何使用密钥而不是密码进行身份验证的有用指南.做吧.您的安全性将大大提高.
要完成此测试,您必须重新启动SSH服务器,否则/ etc / ssh / sshd_config中引入的更改将不会生效.这样做取决于您的系统:
sudo service ssh restart
要么
?????sudo systemctl daemon-reload
?????sudo systemctl重启sshd
(第一个用于Debian和衍生产品,第二个用于Arch Linux,Fedora和一般系统系统).
3.)是否有指示
PermitRootLogin no
当你试图以root身份登录时?如果是这样,请将上述否更改为是.
如果仍然无法解决问题,则必须提供调试详细信息,可以通过在客户端计算机上发出来获取
ssh me@my_pc -vv
它输出了相当数量的数据,对此任务非常有用.在服务器上发布了一个等效的(并且提供更多信息,出于明显的安全原因)选项:首先需要停止服务,
sudo service ssh stop
sudo systemctl stop sshd
然后重启它
sudo /usr/sbin/sshd -Dd
sudo /usr/bin/sshd -Dd
对于两种类型的系统(我不确定除了Arch之外的系统发行版,也许第一种形式适用于除Arch之外的所有系统).
这将生成调试所需的信息.