當拋出異常:paramiko.ssh_exception.AuthenticationException: Authentication failed.
請檢查:
1.雲服務器是否開啓22端口?
2.傳參時密碼是否錯誤?
報錯示例:
操作方法:
以我的騰訊云爲例:
1.點擊安全組規則,檢查服務器是否開啓22端口:
2.檢查代碼傳參:賬號密碼是否正確:
import paramiko
# 實例化SSHClient
client = paramiko.SSHClient()
# 自動添加策略,保存服務器的主機名和密鑰信息,如果不添加,那麼不再本地know_hosts文件中記錄的主機將無法連接
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 連接SSH服務端,以用戶名和密碼進行認證
client.connect(hostname='192.168.1.105', port=22, username='root', password='123456')
# 打開一個Channel並執行命令
stdin, stdout, stderr = client.exec_command('df -h ') # stdout 爲正確輸出,stderr爲錯誤輸出,同時是有1個變量有值
# 打印執行結果
print(stdout.read().decode('utf-8'))
# 關閉SSHClient
client.close()
3.檢查完畢之後,使用python運行Linux命令: