1. 基于用户名密码连接
1 import paramiko
2 # 创建SSH对象
3 ssh = paramiko.SSHClient()
4 # 允许连接不在know_hosts文件中的主机
5 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
6 # 连接服务器
7 ssh.connect(hostname=‘192.168.202.128‘, port=22, username=‘root‘, password=‘123456‘)
8 # 执行命令
9 stdin, stdout, stderr = ssh.exec_command(‘df‘)
10 # 获取命令结果
11 res,err = stdout.read(),stderr.read()
12 result = res if res else err
13 print(result.decode())
14 # 关闭连接
15 ssh.close()
1 import paramiko
2 transport = paramiko.Transport((‘192.168.170.133‘,22))
3 transport.connect(username = ‘chengliqian‘,password = ‘123456‘)
4 sftp = paramiko.SFTPClient.from_transport(transport)
5 sftp.put(‘test.txt‘,‘/tmp/test1.txt‘)
6 #sftp.get(‘/root/opt/teset/test.txt‘,‘‘)
7 transport.close()
2. 基于公钥密钥连接