情况背景:
本周在部署项目到虚拟机时,想使用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”(前提得保证这个端口没有被占用) 然后保存退出,再重启下服务即可生效。**