连接时报错paramiko.ssh_exception.NoValidConnectionsError,
解决办法
首先在ubuntu终端上输入:cat /etc/ssh/ssh_config,查看端口是否为22.
然后执行命令:netstat -ntl,查看22端口是否开通
如果没有开通则执行下面命令
1.关闭防火墙,命令:sudo ufw disable
2.安装openSSH,命令:sudo apt install openssh-server openssh-client
3.查看22端口是否打开:netstat -ntl
此时再连接是成功的
代码:
import paramiko
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在konw_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='虚拟机的ip地址',port=22,username='你自己ubantu的用户名',password='密码')
# 执行命令
stdin,stdout,stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
# 关闭连接
ssh.close()
print(result)