一.SSHClient 方式登錄,適合只執行命令的操做
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='192.168.137.5',port=22,username='test',password='password')
stdin,stdout,stderr=ssh.exec_command('ls')
print stdout.read().decode()
ssh.close()ssh
二.transport方式登錄,除了執行命令外,還能夠上傳,下載
import paramikocode
transport=paramiko.Transport(('192.168.137.5',22))
transport.connect(username='test',password='password')rem
ssh=paramiko.SSHClient()
ssh._transport=transport
stdin,stdout,stderr=ssh.exec_command('ls')
print stdout.read()get
sftp=paramiko.SFTPClient.from_transport(transport)
sftp.get('remote_file','local_file')it
transport.close()test
三.stdin的用法:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.239.182.119',port=22,username='root',password='password')
stdin,stdout,stderr=ssh.exec_command('passwd')
stdin.write('root123\nroot123\n')
ssh.close()import