您的位置:首页 > 其它

使用paramiko模块远程连接遇到paramiko.ssh_exception.NoValidConnectionsError的解决办法

2018-01-22 13:11 876 查看
初学paramiko模块,想尝试在windows上远程登录ubuntu.

首先写了以下代码:

#创建用于连接远程服务器的客户端并执行基本命令
import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname="192.168.1.103",port=22,username="root1",password="123456")

# 执行命令
stdin,stdout,stderr = ssh.exec_command("df")
result = stdout.read()
# 打印输出
print(result.decode())

# 关闭连接
ssh.close()

然后打开虚拟机开了一个ubuntu,执行时,却遇到了提示:paramiko.ssh_exception.NoValidConnectionsError的错误。

这个说明了连接不到服务器,我也仔细检查了ip,用户名,密码都没问题。最后把问题锁定在22端口上面。

解决办法:

首先在ubuntu终端上输入:cat / etc/ssh/ssh_config,检查发现ssh端口号为22端口没错。


然后执行命令:netstat -ntl,查看22端口是否开通



发现果然没有开通22端口,于是下面就开通 22端口就可以解决问题了。

1.关闭防火墙,命令:sudo ufw disable

2.安装openSSH,命令:sudo apt install openssh-server openssh-client

3.查看22端口是否打开:netstat -ntl



然后就成功地开通了22端口。

最后执行代码:命令成功的返回了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐