赞
踩
错误消息 ssh: connect to host IP port 22: Connection timed out
指出 SSH 客户端尝试连接到指定的 IP 地址和端口号(默认 SSH 端口是 22),但是连接超时了。这意味着客户端没有在预定时间内收到来自服务器的响应。
确定指令正确:(选项-P的位置, 尽量直接放在scp命令之后, 否则可能有错误)
scp -P port file_name user@ip:/dir_name
scp 用于在本地和远程计算机之间复制文件的指令;
-P 指定使用自定义端口 port 来连接远程主机;
port 实际的端口号,例如 2222
(默认端口号为22,没改过端口号可以不用加-P port);
file_name 要复制的本地文件的路径和名称;
user@ip: 远程主机的用户名 user 和 IP 地址 ip;
/dir_name 远程主机上的目标目录 dir_name。
示例:
scp -P 2222 example.txt username@192.168.1.100:/home
检查网络连接:
要确保本地和远程主机之间的网络连接没有问题。可以PING一下对方的ip地址检查是否有回应。ping -c 4 <server_ip>
sudo systemctl status ssh
如果 SSH 服务正在运行,应该会看到类似于 “active (running)” 的消息。如果服务未运行,您可以尝试启动它:
sudo systemctl start ssh
如图所示就是ssh服务正常开启的状态
检查 SSH 配置文件:
sudo vim /etc/ssh/sshd_config
在远程主机上检查 SSH 配置文件中的设置是否正确。特别关注 Port
、PermitRootLogin
、MaxAuthTries
等参数是否设置为预期值。检查防火墙设置:
sudo ufw status
如图所示,我允许通过的端口为2222
,确保防火墙允许新端口的流量通过非常重要,否则 SSH 连接将无法成功。在 Ubuntu 中,可以使用 ufw
(Uncomplicated Firewall)来管理防火墙规则。
使用以下命令允许新端口的流量通过防火墙:
sudo ufw allow <new port>/tcp
例如,刚刚将端口更改为 2222,则应该运行:
sudo ufw allow 2222/tcp
然后启用防火墙:
sudo ufw enable
查看系统日志:
检查系统日志以查找与 SSH 相关的任何错误消息。系统日志通常存储在 /var/log 目录下,可以查看 /var/log/auth.log 或 /var/log/syslog 文件。联检查SSH配置的完整性:
检查 SSH 配置文件的语法是否正确,可以使用 sshd 命令的 -t 选项来测试配置文件的语法是否正确:sudo sshd -t
如果输入命令后,没有显示任何信息,则表示配置正确。
解决这个问题通常需要检查网络连接、SSH 服务状态、防火墙设置和 SSH 配置文件。如果问题依然存在,可能需要进一步的网络诊断。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。