#!/usr/bin/env python
# encoding: utf-8
import paramiko
private_key_path = '/Users/aolens/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.201', 22,username='root',pkey=key)
#ssh.connect('192.168.1.201', 22,'root','aolens') #不采用×××登陸時
flag = True
while flag:
con = raw_input('輸入要執行的指令: ')
if con == 'quit':
flag = False
ssh.close()
else:
stdin, stdout, stderr = ssh.exec_command(con)
print stdout.read()
2,實作檔案上傳下載下傳
t = paramiko.Transport(('192.168.1.201',22))
t.connect(username='root',password='qixiang123')
sftp = paramiko.SFTPClient.from_transport(t)
#sftp.put('/Users/aolens/Downloads/1.sh','/root/1.sh') #put上傳檔案到伺服器,前邊是上傳檔案位址,後邊是上傳後檔案位址
sftp.get('/root/1.sh','/Users/aolens/Downloads/2.sh') #get下載下傳檔案,前邊是下載下傳位址,後邊是下載下傳後存放位址
t.close()
#!/usr/bin/env python
# encoding: utf-8
import paramiko
private_key_path = '/Users/aolens/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)
t = paramiko.Transport(('192.168.1.201',22))
t.connect(username='root',pkey=key)
sftp = paramiko.SFTPClient.from_transport(t)
flag = True
while flag:
con = raw_input('輸入要執行的指令: ')
if con == 'quit':
flag = False
t.close()
elif con == 'put':
com_add = raw_input('輸入檔案來源位址:')
target_add = raw_input('輸入檔案存放位址:')
sftp.put(com_add,target_add)
print '上傳完成[=========================] 100% ', "檔案上傳至:%s"% (target_add)
elif con == 'get':
com_add = raw_input('輸入檔案來源位址:')
target_add = raw_input('輸入檔案存放位址:')
sftp.get(com_add,target_add)
print '下載下傳完成[=========================] 100% ', "檔案存放在:%s"% (target_add)
else:
print '輸入正确的上傳下載下傳指令'
print '上傳: put '
print '下載下傳: get '
print '========================='
對上邊SSH登陸優化,輸出資訊
#!/usr/bin/env python
# encoding: utf-8
import paramiko
private_key_path = '/Users/aolens/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.1.201', 22,username='root',pkey=key)
#ssh.connect('192.168.1.201', 22,'root','aolens') #不采用×××登陸時
flag = True
while flag:
con = raw_input('\033[1;34m輸入要執行的指令: \033[0m')
if con == 'quit':
flag = False
ssh.close()
else:
stdin, stdout, stderr = ssh.exec_command(con)
for i in (stdout.read(),stderr.read()):
print i