paramiko模块为python提供了ssh和sftp连接,程序中需要远程登陆的时候就会用到它。而且这个包支持python2和python3。
环境:ubuntu16 + python3.5
前提:首先需要执行:apt install python3-dev,安装python开发包
1.SSH连接
注意:直接登陆ubuntu的root用户是登陆不了的
如果想登陆root用户,需要修改/etc/ssh/sshd_config
把PermitRootLogin prohibit-password改为
PermitRootLogin yes
如果想登陆root用户,需要修改/etc/ssh/sshd_config
把PermitRootLogin prohibit-password改为
PermitRootLogin yes
>>> import paramiko
>>> client = paramiko.SSHClient()
>>> client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>>client.connect('192.168.126.128',22,username='fangliang',password='passwd',timeout=5)
>>> stdin,stdout,stderr = client.exec_command('ls -l')
>>> for std in stdout.readlines():
print(std)
总用量 56
>>> client = paramiko.SSHClient()
>>> client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>>client.connect('192.168.126.128',22,username='fangliang',password='passwd',timeout=5)
>>> stdin,stdout,stderr = client.exec_command('ls -l')
>>> for std in stdout.readlines():
print(std)
总用量 56
drwxr-xr-x 2 fangliang fangliang 4096 8月 2 18:51 Desktop
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Documents
drwxr-xr-x 7 fangliang fangliang 4096 8月 2 01:20 Downloads
-rw-r--r-- 1 fangliang fangliang 8980 5月 8 10:44 examples.desktop
drwxrwxr-x 2 fangliang fangliang 4096 8月 2 08:09 fl
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Music
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Pictures
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Public
drwxrwxr-x 3 fangliang fangliang 4096 7月 9 17:56 software
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Templates
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Videos
drwxrwxr-x 8 fangliang fangliang 4096 7月 25 20:26 workspace
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Documents
drwxr-xr-x 7 fangliang fangliang 4096 8月 2 01:20 Downloads
-rw-r--r-- 1 fangliang fangliang 8980 5月 8 10:44 examples.desktop
drwxrwxr-x 2 fangliang fangliang 4096 8月 2 08:09 fl
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Music
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Pictures
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Public
drwxrwxr-x 3 fangliang fangliang 4096 7月 9 17:56 software
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Templates
drwxr-xr-x 2 fangliang fangliang 4096 5月 8 10:51 Videos
drwxrwxr-x 8 fangliang fangliang 4096 7月 25 20:26 workspace
2.SFTP连接
>>> import paramiko
>>> username='fangliang'
>>> password='Aa123456'
>>> host='192.168.126.128'
>>> port=22
>>> t=paramiko.Transport((host,port))
>>> t.connect(username=username,password=password)
>>> sftp=paramiko.SFTPClient.from_transport(t)
>>> sftp.get('/home/fangliang/Desktop/data.txt','D:\\test.txt')
>>> sftp.put('D:\\data.txt','/home/fangliang/Desktop/data.txt')
>>> username='fangliang'
>>> password='Aa123456'
>>> host='192.168.126.128'
>>> port=22
>>> t=paramiko.Transport((host,port))
>>> t.connect(username=username,password=password)
>>> sftp=paramiko.SFTPClient.from_transport(t)
>>> sftp.get('/home/fangliang/Desktop/data.txt','D:\\test.txt')
>>> sftp.put('D:\\data.txt','/home/fangliang/Desktop/data.txt')