Skip to main content

used to ssh to exe cmd or scp file

Project description

ssh

安装

pip3 install python3-ssh

用法

is_sshable 用于判断服务器是否可以ssh

如下所示

from ssh.ssh import SSHClient


if __name__ == '__main__':
    ssh = SSHClient(ip="192.168.1.2", port=22, username="root", password="xxxx")
    print(ssh.is_sshable)

执行结果:

True

其中在建立ssh连接时,默认超时时间为10秒,通常情况下,10超时时间是够了的,但当网络环境确实很差而且无法优化网络环境的情况下,也可以设置连接超时的,如下即将超时时间修改为30秒

from ssh.ssh import SSHClient


if __name__ == '__main__':
    ssh = SSHClient(ip="192.168.1.2", port=22, username="root", password="xxxx",connect_timeout=30)
    print(ssh.is_sshable)

wait_for_sshable 设置超时等待服务器可以ssh

  • 对于新建的虚拟机,可以使用等待可以ssh,并可以设置超时,如下示例中 192.168.1.254 为一个不存在的虚拟机
from ssh.ssh import SSHClient


if __name__ == '__main__':
    ssh = SSHClient(ip="192.168.1.2", port=22, username="root", password="Mugen_runner@123456")
    rs=ssh.wait_for_sshable(60)
    print(rs)
    ssh = SSHClient(ip="192.168.1.254", port=22, username="root", password="Mugen_runner@123456")
    rs = ssh.wait_for_sshable(60)
    print(rs)

执行结果为:

True
False

exec 用于执行命令

  • 执行一条简单的命令,并获取执行命令的返回码、标准输出和标准错误 远程执行一条简单的命令,比如 ls,调试时需要将ip地址和用户名密码修改为自己的调试环境的信息
from ssh.ssh import SSHClient


if __name__ == '__main__':
    ssh = SSHClient(ip="192.168.1.2", port=22, username="root", password="xxxx")
    rs = ssh.exec("ls /")
    print(f"exit_status_code:{rs.exit_status_code}")
    print(f"stdout:{rs.stdout}")
    print(f"stderr:{rs.stderr}")

执行结果如下:

exit_status_code:0
stdout:afs
bin
boot
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

stderr:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python3_ssh-1.3.6.tar.gz (8.5 kB view details)

Uploaded Source

File details

Details for the file python3_ssh-1.3.6.tar.gz.

File metadata

  • Download URL: python3_ssh-1.3.6.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for python3_ssh-1.3.6.tar.gz
Algorithm Hash digest
SHA256 d4ff261297a6e4dd589ceb32e35bb260e56751823764ec137c6f15f864923ae5
MD5 9f1940781d531be05f29bca3a6cef0ff
BLAKE2b-256 9f68b8430dbf5d506d1d26f19cfb4aa6b60d3f34bf2bddd0cd9a997dde3d1179

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page