通过paramiko实现ssh

简单的ssh小实例

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.10.10.143',port=22,username='msfadmin',passward='12345')
while True:
    cmd = input('>>>')
    stdin, stdout, stderr = ssh.exec_command(cmd)
    if stdout:
        result = stdout.read()
        
    else:
        result = stderr.read()
    print(result.decode())

ssh.close()

一个scp的小实例

import paramiko

transport = paramiko.Transport(('10.10.10.143',22))
transport.connect(username='msfadmin',password='msfadmin')
sftp = paramiko.SFTPClient.from_transport(transport)

# localpath = input('>>>')
# print(localpath)
# sftp.put('test.py', '/tmp/a')

sftp.get('/tmp/id_rsa', 'b.txt')

transport.close()

通过ssh-keygen命令

ssh-keygen

也可直接使用命令将公钥传到目标机器

ssh-copy-id '-p 端口 root@10.10.10.131'

通过密钥链接linux

import paramiko

private_key = paramiko.RSAKey.from_private_key_file('b.txt')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='10.10.10.143',port=22,username='msfadmin',pkey=private_key)
while True:
    cmd = input('>>>')
    stdin, stdout, stderr = ssh.exec_command(cmd)
    if stdout:
        result = stdout.read()
        
    else:
        result = stderr.read()
    print(result.decode())

ssh.close()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group...
    shuff1e阅读 1,801评论 1 11
  • CA和证书安全协议(SSL/TLS)OpenSSH 一、CA和证书 (一) PKI(Public Key Infr...
    哈喽别样阅读 1,420评论 0 0
  • OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的...
    醋留香阅读 12,108评论 0 33
  • 1、远程连接服务器 远程连接服务器对于管理员来说,是一个很有用的操作。它使得对服务器的管理更为方便。不过方便归方便...
    Zhang21阅读 39,586评论 0 20