SSHClient
用于连接远程服务器并执行基本命令
基于用户名密码连接:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import paramiko
# 创建SSH对象ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname=\'c1.salt.com\', port=22, username=\'wangsen\', password=\'123\')
# 执行命令stdin, stdout, stderr = ssh.exec_command(\'df\')
# 获取命令结果result = stdout.read()
# 关闭连接ssh.close() |
import paramiko transport = paramiko.Transport((\'hostname\', 22)) transport.connect(username=\'wupeiqi\', password=\'123\') ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command(\'df\') print stdout.read() transport.close()
基于公钥密钥连接:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import paramiko
private_key = paramiko.RSAKey.from_private_key_file(\'/home/auto/.ssh/id_rsa\')
# 创建SSH对象ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname=\'c1.salt.com\', port=22, username=\'wangsen\', key=private_key)
# 执行命令stdin, stdout, stderr = ssh.exec_command(\'df\')
# 获取命令结果result = stdout.read()
# 关闭连接ssh.close() |
import paramiko private_key = paramiko.RSAKey.from_private_key_file(\'/home/auto/.ssh/id_rsa\') transport = paramiko.Transport((\'hostname\', 22)) transport.connect(username=\'wupeiqi\', pkey=private_key) ssh = paramiko.SSHClient() ssh._transport = transport stdin, stdout, stderr = ssh.exec_command(\'df\') transport.close()