python的學習之旅---paramiko 模塊

基於用戶名密碼鏈接,遠程執行命令
import paramiko

# 建立SSH對象
 1 ssh = paramiko.SSHClient() html


# 容許鏈接不在know_hosts文件中的主機
 1 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 服務器


# 鏈接服務器ssh

1 ssh.connect(hostname='123.56.157.199', port=22022, username='root', password='asbsdf.')

# 執行命令spa

while True:
    cmd=input('>>: ').strip()
    stdin, stdout, stderr = ssh.exec_command(cmd)
    # 獲取命令結果
    result = stdout.read()
    print(result.decode('utf-8'))
    # 關閉鏈接
ssh.close()

基於密鑰登陸
 1 import paramiko 2 3 private_key = paramiko.RSAKey.from_private_key_file(r'C:\\id_rsa') 

# 建立SSH對象code

ssh = paramiko.SSHClient()
# 容許鏈接不在know_hosts文件中的主機
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 鏈接服務器
 1 ssh.connect(hostname='123.56.157.199', port=22, username='root', pkey=private_key) 
# 執行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 獲取命令結果
 result = stdout.read() htm

print(result.decode('utf-8')) 
# 關閉鏈接
ssh.close()
#上傳下載對象

 1 import paramiko
 2 
 3 transport = paramiko.Transport(('123.56.157.199', 22022))
 4 transport.connect(username='root', password='HLH199300.')
 5 
 6 sftp = paramiko.SFTPClient.from_transport(transport)
 7 # 將location.py 上傳至服務器 /tmp/test.py
 8 sftp.put(r'C:\\id_rsa', '/tmp/test.rsa')
 9 # 將remove_path 下載到本地 local_path
10 # sftp.get('remove_path', 'local_path')
11 transport.close()

 https://www.cnblogs.com/zhang-yulong/p/6540457.htmlblog

相關文章
相關標籤/搜索