scp 出现错误ssh: connect to host 9.123.159.41 port 22:connection refused的解决办法

本文介绍了如何通过SSH协议在宿主机与虚拟机之间进行文件传输,包括SSH服务的安装与启动、连接过程及常见问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述:有时在虚拟机于宿主机之间进行文件拷贝并不是那么方便,一个很简便的方法便是使用ssh协议进行通信。

1.软件安装:

输入 ssh 192.168.xxx.xxx 

往往会提示没有这个命令,此时往往需要安装ssh和openssh-server,安装方法不再介绍。

2.查询并开启服务

在终端输入:/etc/init.d/sshd status

可以查看ssh服务是否开启,如果是关闭状态,需要运行如下命令

/etc/init.d/sshd start

对于有些主机,开机时候默认没有开启ssh服务,此时,如果执行scp username@hostname,会出现错误提示:

ssh: connect to host 9.123.159.41 port 22:connection refused

这个时候,需要按照上述步骤,开启ssh服务

3.连接

ssh username@hostname(or IP)

第一次容易出现的问题是:由于默认关闭了ssh服务,连接无法建立,此时需要手动输入yes,才能建立连接

4.文件拷贝

使用scp命令

scp file username@anotherhostname(or ip):/home/username/document/file2


5.其他问题

5.1ssh链接之后,一段时间没有操作,很快断开;

原因:网络情况不好的时候,服务器端会对客户端进行心跳检测,如果没有接受到客户端的信号,那么将导致服务器端断开链接。

解决方法:增大服务器端断开的时间,修改两个配置文件

1)在/etc/ssh/sshd_conf中增加一句

ClientAliveInterval=60

2)在环境变量中设置:

TMOUT=1000



### 解决 SSH 连接被拒绝 (Connection Refused on Port 22) 当遇到 `ssh: connect to host 192.168.36.234 port 22: Connection refused` 错误时,通常意味着目标主机上的 SSH 服务未运行或配置错误。以下是排查和解决问题的方法: #### 检查 SSH 服务状态 确认远程服务器上是否启用了 SSH 服务并正在监听端口 22。 ```bash sudo systemctl status sshd ``` 如果服务未启动,则可以尝试启动它: ```bash sudo systemctl start sshd ``` 确保服务设置为开机自启: ```bash sudo systemctl enable sshd ``` #### 防火墙设置检查 防火墙可能阻止了外部访问 SSH 端口。验证防火墙规则允许 TCP 流量通过端口 22: 对于基于 iptables 的系统: ```bash sudo iptables -L | grep 22 ``` 对于使用 firewalld 的系统: ```bash sudo firewall-cmd --list-all | grep 22 ``` 添加必要的防火墙规则来开放端口 22: ```bash sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload ``` #### SELinux 设置调整 SELinux 可能会限制 SSH 访问权限。临时禁用 SELinux 来测试连通性: 编辑 `/etc/selinux/config` 文件并将 `SELINUX=enforcing` 改为 `SELINUX=permissive` 或者直接关闭 SELINUX 功能[^3]。 重启机器使更改生效后再试一次 SCP 命令看问题是否存在。 #### 修改 SSHD_Configuration 文件 查看 `/etc/ssh/sshd_config` 中是否有不恰当的配置项影响正常工作,比如 ListenAddress 和 PermitRootLogin 参数设置不当可能会导致无法登录[^4]。 #### 使用其他端口号 有时默认端口已被占用或其他原因造成冲突,可以在客户端指定不同的端口进行连接测试: ```bash scp -P <alternate_port> ./release.sh user@remote_host:/path/to/target/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值