导读:

在这篇文章中,主要谈及如何利用paramiko库,使用密码连接远程linux主机。paramiko是用python语言编写的一个模块,遵循SSH2协议,支持以加密和认证的方式进行远程服务器的连接。

环境:

(1)安装paramiko库:pip install paramiko

(2)python 2.7用来编写代码

(3)在kali-linux上详细配置ssh,见linux环境下ssh的配置

配置好之后,开启ssh:/etc/init.d/ssh start

(4)本地win10、远程kali-linux

代码:

1.方案一

(1)直接使用SSHClient对象的exec_command()在服务端执行命令,在ssh.py添加如下代码:

 

#-*- coding:utf-8 -*- 
import paramiko  

def ssh_command(ip,port,username,password,command):
   # 创建SSH对象
   client = paramiko.SSHClient()
   # 允许连接不在know_hosts文件中的主机
   client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
   # 连接服务器
   client.connect(ip,port,username,password)
   # 直接使用SSHClient对象的exec_command()在服务端执行命令
   stdin,stdout,stderr = client.exec_command(command)
   receive = stdout.read()
   # 打印输出
   print receive.decode('utf-8')
   # 关闭连接
   client.close()

ssh_command('192.168.1.175',22,'root','远程主机登陆密码','ls')

 

(2)在win10运行,用这个代码来连接kali-linux,把执行结果显示在win10。

先测试是否可以ping通:

 

已经ping通了,现在连接运程主机,命令执行的结果也可以看到了:

2.方案二

(1)利用SSHClient建立连接的对象得到一个Transport对象,以Transport对象的exec_command()在服务端执行命令,在sshcmd.py添加如下代码(出自python黑帽子 黑客与渗透测试):

 

#-*- coding:utf8 -*-
import paramiko

def ssh_command(ip,port,username,password,command):
    # 创建SSH对象
    client = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    client.connect(ip,port,username,password)
    #将SSHClient建立连接的对象得到一个Transport对象,
    #以Transport对象的exec_command()在服务端执行命令
    ssh_session = client.get_transport().open_session()
    if ssh_session.active:
        ssh_session.exec_command(command)
        receive=ssh_session.recv(1024)
        print receive.decode('utf-8')
    # 关闭连接
    client.close()
ssh_command('192.168.1.175',22,'root','远程主机登陆密码','ls')

(2)在win10运行,运行结果如下:

3.检验是否正确

在linux上执行“ls”命令,发现一致。

 

 

 

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐