标签:链接 known 本地 shc comm com ifconf man cmd
1.基于密码的ssh
import paramiko #创建SSH对象 ssh = paramiko.SSHClient() #把要连接的机器添加到known_hosts文件中 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接服务器 ssh.connect(hostname=‘192.168.1.96‘, port=22, username=‘morra‘, password=‘123456‘) cmd = ‘ps‘ #cmd = ‘ls -l;ifconfig‘ #多个命令用;隔开 stdin, stdout, stderr = ssh.exec_command(cmd) result = stdout.read() if not result: result = stderr.read() ssh.close() print(result.decode())
2.基于密码的Sftp传输
import paramiko transport = paramiko.Transport((‘192.168.1.96‘, 22)) transport.connect(username=‘morra‘, password=‘357447218‘) sftp = paramiko.SFTPClient.from_transport(transport) sftp.put(‘123.py‘, ‘/tmp/test.py‘) # 将123.py 上传至服务器 /tmp下并改名为test.py sftp.get(‘remove_path‘, ‘local_path‘) # 将remove_path 下载到本地 local_path
3.使用密钥对链接SSH
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa96‘) #使用目标的私钥来登录 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=‘192.168.1.96‘,port=22,username=‘morra‘,pkey=private_key) cmd = ‘ps‘ stdin, stdout, stderr = ssh.exec_command(cmd) result = stdout.read() if not result: result = stderr.read() ssh.close() print(result.decode())
4.使用密钥对链接Sftp
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘id_rsa96‘) #使用目标的私钥来登录 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=‘192.168.1.96‘,port=22,username=‘morra‘,pkey=private_key) cmd = ‘ps‘ stdin, stdout, stderr = ssh.exec_command(cmd) result = stdout.read() if not result: result = stderr.read() ssh.close() print(result.decode())
标签:链接 known 本地 shc comm com ifconf man cmd
原文地址:https://www.cnblogs.com/LyShark/p/9073737.html