連接時報錯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)