关于使用WinSCP或MobaXterm远程连接虚拟机请求超时或拒绝连接的解决方案

2024-06-06 21:40:41 浏览数 (1)

情况背景:

本周在部署项目到虚拟机时,想使用WinSCP拉一个比较大的文件压缩包到虚拟机中,但是在虚拟机创建好之后,使用终端软件连接不上虚拟机,提示连接超时或拒绝连接。

解决方案如下:

**(1)可能是防火墙问题: 开启|关闭防火墙(这里需要关闭)

代码语言:javascript复制
sudo ufw enable|disable(即disable)

(2)未开启远程服务: 终端界面键入:

代码语言:javascript复制
sudo /etc/init.d/ssh restart (或sudo /etc/init.d/ssh start)

(3)端口号22 要打开:

代码语言:javascript复制
sudo vi /etc/ssh/ssh_config 

如果拒绝ROOT权限连接:

代码语言:javascript复制
sudo vi /etc/ssh/sshd_config
代码语言:javascript复制
找到PermitRootLogin no 改成yes

重启sshd服务:

代码语言:javascript复制
service sshd restart (记得重启)

(4)未安装ssh远程服务: 首先输入 ssh localhost命令查看虚拟机是否安装好了ssh远程服务。 出现以下提示则为未安装: ssh: connect to host localhost port 22: Connection refused (ssh:连接到主机本地主机端口22:连接被拒绝) 如果出现以上提示,直接进行安装指令 :

代码语言:javascript复制
sudo apt-get install openssh-server

等待安装结束之后,启动服务:

代码语言:javascript复制
 sudo /etc/init.d/ssh start

启动成功会提示:

代码语言:javascript复制
[ ok ] Starting ssh (via systemctl): ssh.service.

检查服务是否启动成功:

代码语言:javascript复制
ps -e|grep ssh

若有下面提示则启动成功

代码语言:javascript复制
9996(四位数字) ? 00:00:00 sshd

执行到这一步就可以连接上虚拟机了 最后: 启动、停止、重启SSH命令:

代码语言:javascript复制
$ sudo /etc/init.d/ssh start          //启动SSH命令
代码语言:javascript复制
$ sudo /etc/init.d/ss stop //停止SSH命令,重新连接你会发现不能再连接上了
代码语言:javascript复制
$ sudo /etc/init.d/ss restart        //重启SSH命令

系统默认端口为22,修改可执行以下命令:

代码语言:javascript复制
sudo vim /etc/ssh/sshd_config

找到“# Port 22”改为 “Port 你想要的端口” (没有#号,#代表注释意思。) 例如→”Port 33”(前提得保证这个端口没有被占用) 然后保存退出,再重启下服务即可生效。**

0 人点赞