1 #!/usr/bin/python
2 #ssh
3 import paramiko
4 import sys,os
5
6 host='127.0.0.1'
7 user = 'whl'
8 password = '123456'
9
10 s = paramiko.SSHClient() # 綁定實例
11 s.load_system_host_keys() # 加載本地HOST主機文件
12 s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 容許鏈接不在know_hosts文件中的主機
13 s.connect(host,22,user,password,timeout=5) # 鏈接遠程主機
14 while True:
15 cmd=raw_input('cmd:')
16 stdin,stdout,stderr = s.exec_command(cmd) # 執行命令
17 cmd_result = stdout.read(),stderr.read() # 讀取命令結果
18 for line in cmd_result:
19 print line
20 # paramiko實例(帳號密碼登陸執行命令)
1 #!/usr/bin/evn python
2 import os
3 import paramiko
4 host='127.0.0.1'
5 port=22
6 user = 'whl'
7 password = '123456'
8 ssh=paramiko.Transport((host,port))
9 privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
10 mykey = paramiko.RSAKey.from_private_key_file( os.path.expanduser('~/.ssh/id_rsa')) # 加載key 不使用key可不加
11 ssh.connect(username=username,password=password) # 鏈接遠程主機
12 # 使用key把 password=password 換成 pkey=mykey
13 sftp=paramiko.SFTPClient.from_transport(ssh) # SFTP使用Transport通道
14 sftp.get('/etc/passwd','pwd1') # 下載 兩端都要指定文件名
15 sftp.put('pwd','/tmp/pwd') # 上傳
16 sftp.close()
17 ssh.close()
18 # paramiko實例(傳送文件)
1 #!/usr/bin/python
2 #ssh
3 import paramiko
4 import sys,os
5 host='127.0.0.1'
6 user = 'whl'
7 s = paramiko.SSHClient()
8 s.load_system_host_keys()
9 s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
10 privatekeyfile = os.path.expanduser('~/.ssh/id_rsa') # 定義key路徑
11 mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
12 # mykey=paramiko.DSSKey.from_private_key_file(privatekeyfile,password='061128') # DSSKey方式 password是key的密碼
13 s.connect(host,22,user,pkey=mykey,timeout=5)
14 cmd=raw_input('cmd:')
15 stdin,stdout,stderr = s.exec_command(cmd)
16 cmd_result = stdout.read(),stderr.read()
17 for line in cmd_result:
18 print line,
19 s.close()
19 # paramiko實例(密鑰執行命令)