Python使用paramiko遠端連線伺服器及上傳檔案
阿新 • • 發佈:2020-10-27
paramiko是一個基於SSH2的Python三方包,可以用於連線遠端伺服器,執行命令或上傳下載檔案等。
使用SSH連線遠端伺服器並執行命令
import paramiko paramiko.util.log_to_file('syslogin.log') # 設定執行日誌 ssh_cli = paramiko.SSHClient() # 建立SSHClient例項 ssh_cli.load_system_host_keys() # 載入系統預設ssh_keys ssh_cli.connect(hostname='******', username='test', password='123456') # 建立ssh連線 stdin, stdout, stderr = ssh_cli.exec_command('free -h') # 在遠端伺服器上執行命令 print(stdout.read().decode('utf-8')) # 輸出命令返回結果 ssh_cli.close() # 關閉連線
使用SFTP上傳下載檔案
import paramiko server = ('***.***.***.***', 22) # 伺服器地址及埠 t = paramiko.Transport(server) # 例項化連線物件 t.connect(username='test',password='123456') # 建立連線 sftp = paramiko.SFTPClient.from_transport(t) # 使用連結建立sftp物件 print(sftp.listdir('/home/test')) # 列出目錄所有檔案 # 下載 remote_file = '/home/test/a.txt' # 伺服器上的檔案 local_file = 'a.txt' # 要儲存的本地檔案 sftp.get(remote_file, local_file) # 下載檔案 # 上傳 sftp.mkdir('/home/test/dat') # 建立目錄 local_file = 'b.txt' # 本地檔案 remote_file = '/home/test/dat/b.txt' # 要儲存到伺服器上的檔案 sftp.put(local_file, remote_file) # 上傳 t.close() # 關閉連線