在Linux中拒绝SSH连接时应该检查什么?
在CentOS或Ubuntu等Linux服务器的初始设置中,有时您的SSH连接失败。
本文介绍了在Linux中拒绝SSH连接时应检查的内容。
SSH连接被拒绝
当您尝试通过SSH应用程序(如Tera Term)连接到Linux时,您会看到"连接被拒绝"。
你应该检查什么
- 服务器端
- SSH服务软件
- 服务是否有效
- 服务器IP在网络中是否已知
- 允许或不允许来自外部
- FW允许访问与否
- 客户端
- 从客户端到服务器的网络路径
SSH服务软件
有一个软件 openssh-server
,您可以通过 apt-get install
安装它。
$ sudo apt-get install openssh-server
安装完成后,您可以在下面执行。
$ ssh -V
然后你可以看到结果。所以安装正确完成。
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6,OpenSSL 1.0.1f6 2014年1月
在Ubuntu 14.04上激活SSH - wide_snow的博客
服务是否有效
为了检查 openssh-server
是否正常工作,您可以尝试从服务器到服务器本身的SSH连接。
如果你可以登录, openssh-server
正在运行。
$ ssh(服务器的IP地址)
服务器IP在网络中是否已知
您可以通过 ifconfig
命令检查服务器的IP地址。
你也可以使用 ip a
命令。
但是 ifconfig
命令无法证明IP在网络中是已知的。
如果其他机器使用相同的IP地址,则网络上会发生IP地址冲突。
然后你可以使用 nmap
命令检查网络(LAN)知道的IP的MAC地址。
首先,您可以通过 apt install
激活 nmap
。
$ sudo apt install nmap
然后检查网络上IP的MAC地址。
在下面的例子中,网络是192.168.0.xxx。
$ sudo nmap 192.168.0.0/24 -sP
如果 nmap
显示的MAC地址与 ifconfig
检查的MAC地址不一致,则表示存在IP地址冲突。
SSH连接时拒绝端口连接| TOMMY NOTES
安装nmap
允许或不允许来自外部
您可以在 / etc / hosts.deny
中检查访问被拒绝列表。
如果列表中的客户端访问被拒绝,您可以对其进行注释或删除。
$ sudo nano /etc/hosts.deny
$ sudo reboot
settings(/etc/hosts.allow,/etc/hosts.deny)
如何申请hosts.allow hosts.deny | teratail
通过主机文件进行访问控制 - renoji.com
FW允许访问或不访问
您可以通过 ufw status
命令检查FW是否允许访问。
$ sudo ufw status
如果不允许端口22,您可以允许它。
$ sudo ufw允许ssh
从客户端到服务器的网络路径
使用 ping
命令,您可以检查网络路径是否从客户端运行到服务器。
如果响应来了,网络路径就可以了。
$ ping(服务器的IP地址)
最后
- 如果SSH连接被拒绝,请检查SSH软件,网络路径,IP地址冲突。