介绍你在通过SSH访问远程服务器时遇到问题吗?如果 SSH 响应“Connection Refused”消息,你可能需要修改请求或检查设置,如何修复SSH Connection Refused错误?
在本教程中,你将找到 SSH Connection Refused错误的最常见原因。
为什么当我使用 SSH 时出现Connection Refused?尝试通过 SSH 连接到你的服务器时,你可能会收到“Connection Refused”错误的原因有很多。要解决此问题,你首先需要确定系统拒绝你通过 SSH 连接的原因。
你将在下面找到一些可能导致 SSH Connection Refused的最常见原因。
未安装 SSH 客户端
解决SSH Connection Refused错误:在排除其他问题之前,第一步是检查你是否正确安装了 SSH。你正在访问服务器的机器应该设置了 SSH 客户端。如果没有正确的客户端设置,你将无法远程访问服务器。
要检查系统上是否有 SSH 客户端,请在终端窗口中键入以下内容:
ssh
文章图片
如果终端提供
ssh
命令选项列表,则 SSH 客户端已安装在系统上。但是,如果它以command not found响应,则需要安装 OpenSSH 客户端。解决方案:安装SSH客户端如何修复SSH Connection Refused错误?要在你的计算机上安装 SSH 客户端,请打开终端,然后运行下面列出的命令之一。
对于 Ubuntu/Debian 系统:
sudo apt install openssh-client
对于 CentOS/RHEL 系统:
sudo yum install openssh-client
注意:有关安装的分步指南,请查看如何在 CentOS 上安装 OpenSSH或如何在 Ubuntu 上启用 SSH。
服务器上未安装 SSH 守护程序
就像你需要客户端版本的 SSH 来访问远程服务器一样,你需要服务器版本来侦听和接受连接。因此,如果 SSH 服务器丢失或设置无效,服务器可能会拒绝传入连接。
要检查远程服务器上的 SSH 是否可用,请运行以下命令:
ssh localhost
如果输出响应为“拒绝连接”,请继续在服务器上安装 SSH。
文章图片
解决方案:在远程服务器上安装 SSHSSH Connection Refused解决办法:解决缺少 SSH 服务器的问题,请参阅如何安装 OpenSSH 服务器。
凭据错误
输入错误或不正确的凭据是 SSH Connection Refused的常见原因。确保你没有错误输入用户名或密码。
然后,检查你是否使用了正确的服务器IP 地址。
最后,确认你打开了正确的SSH 端口。你可以通过运行来检查:
grep Port /etc/ssh/sshd_config
输出显示端口号,如下图所示。
文章图片
注意:你可以使用
password authentication
或public key authentication
(无密码 SSH 登录)通过 SSH 连接到远程系统。如果要设置公钥验证,请参阅如何设置无密码 SSH 登录。SSH 服务已关闭
解决SSH Connection Refused错误:SSH 服务需要启用并在后台运行。如果服务关闭,SSH 守护进程将无法接受连接。
要检查服务的状态,请输入以下命令:
sudo service ssh status
【如何修复SSH Connection Refused错误(详细指南)】输出应响应服务处于活动状态。如果终端响应服务关闭,请启用它以解决问题。
文章图片
解决方案:启用SSH服务如何修复SSH Connection Refused错误?如果系统显示 SSH 守护进程未激活,你可以通过运行以下命令启动该服务:
systemctl start sshd
要使服务在启动时运行,请运行以下命令:
sudo systemctl enable sshd
防火墙阻止 SSH 连接
由于防火墙限制,SSH 可以拒绝连接。防火墙保护服务器免受潜在有害连接的影响。但是,如果你在系统上设置了 SSH,则必须配置防火墙以允许 SSH 连接。
确保防火墙不会阻止 SSH 连接,因为这可能会导致“Connection Refused”错误。
解决方案:允许 SSH 连接通过防火墙SSH Connection Refused解决办法:要解决我们上面提到的问题,你可以使用ufw(简单防火墙),这是用于管理防火墙配置的命令行界面工具。
在终端窗口中键入以下命令以允许 SSH 连接:
sudo ufw allow ssh
文章图片
SSH 端口已关闭
当你尝试连接到远程服务器时,SSH 会向特定端口发送请求。要接受此请求,服务器需要打开 SSH 端口。
如果端口关闭,服务器将拒绝连接。
默认情况下,SSH 使用端口 22。如果你没有对该端口进行任何配置更改,你可以检查服务器是否正在侦听传入请求。
要列出所有正在侦听的端口,请运行:
sudo lsof -i -n -P | grep LISTEN
在输出中找到端口 22 并检查其STATE是否设置为LISTEN。
或者,你可以检查特定端口是否打开,在本例中为端口 22:
sudo lsof -i:22
文章图片
解决方案:打开SSH端口解决SSH Connection Refused错误:要启用端口 22 以侦听请求,请使用以下
iptables
命令:sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
你还可以通过更改防火墙设置通过 GUI 打开端口。
SSH 调试和日志记录如何修复SSH Connection Refused错误?分析Linux下的SSH问题,可以开启verbose mode或debugging mode。当你启用此模式时,SSH 会打印出调试消息,这些消息有助于解决连接、配置和身份验证问题。
详细程度分为三个级别:
- 级别 1 (
-v
) - 级别 2 (
-vv
) - 级别 3 (
-vvv
)
ssh [server_ip]
添加-v
选项并运行:ssh -v [
server_ip]
文章图片
或者,你可以使用:
ssh -vv [
server_ip]
或者
ssh -vvv [
server_ip]
SSH Connection Refused解决办法结论如何修复SSH Connection Refused错误?本文列出了 SSH Connection Refused错误的一些最常见原因。要解决此问题,请查看列表并确保所有设置均已正确配置。
你可能会遇到的另一个常见问题是 SSH Failed Permission Denied。在我们关于如何修复SSH Failed Permission Denied (Publickey,Gssapi-Keyex,Gssapi-With-Mic) 的文章中了解此错误的原因以及如何修复它。
推荐阅读
- 如何修复SSH失败Permission Denied (publickey,gssapi-keyex,gssapi-with-mic)
- 硬盘安装器windows7下载
- windows 7 激活系统图文图文详细教程
- windows764位旗舰版升win10系统图文图文详细教程
- 雨林木风windows7 64位旗舰版系统下载
- ghost windows7 64位系统激活密钥大全自制步骤
- 雨林木风ghost windows7系统安装图文详细教程自制步骤
- 雨林木风Ghost windows7旗舰版系统安装图文详细教程自制步骤
- Ghost windows7 64位系统旗舰版网卡驱动工具下载