当本机连接不上远程服务器,排查问题的思路是确保本机和远程的 sshd
服务都没有问题。
为什么要写这篇文章,一是记录防止忘记,另一方面是 gpt 给的方案太宽泛,需要自己逐一排查。而我们自己遇到的问题多半是有上下文的。这些上下文只有我们自己比较清楚了。
首先,排查远程服务器的问题。
1. 排查远程服务器的问题
-
查看服务器是否启动了
sshd
服务:-
安装 sshd 服务:
sudo apt-get install openssh-server
-
查看服务器是否启动了
sshd
服务:
上图当中有一些错误:连接是被对端(ssh 客户端)重置了。说明服务器的 sshd 服务是没问题的。不过,为了排查流程的完整性,还是继续排查。
-
-
查看服务器是否对 sshd 服务打开了端口:
sudo ufw status
最粗暴的方式是直接关闭防火墙:
sudo ufw disable
-
查看
/etc/ssh/sshd_config
文件当中是否开启了允许 root 用户远程登录以及使用密码登录
其它的配置采用默认配置即可。
如果远程服务器是使用的类似于阿里云这些提供商,还需要设置安全组规则中的出入规则。
经过以上步骤,基本可以确定服务器的 sshd
服务是开启的。
2. 排查 ssh 客户端的问题
下面排查客户端的问题:
-
在 Windows 系统上安装 ssh。这里使用
PowerShell
安装:首先,查看系统是否安装了 ssh:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
这里 ssh 的客户端已经安装了
如果没有安装,可以使用命令:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
进行安装。如何测试 Windows 安装成功了 ssh?可以找一个 git 仓库,使用 ssh 方式下载进行验证。
-
Windows
上设置防火墙对ssh
所用端口的流入规则;(可参考其它文章)
最后,如果还是无法连接。有一个原因可能是企业内部网络的整体限制,导致无法连接。可以尝试用热点远程连接服务器。
码字不易,如有帮助,各位道友记得一键三连啊。