使用Python建立SSH连接的方法

2023-04-15 00:00:00 连接 方法 建立

Python建立SSH连接,可以使用paramiko库,以下是详细的方法和代码演示:

  1. 安装paramiko库

在命令行中输入以下指令:

pip install paramiko
  1. 建立SSH连接

导入paramiko库,使用SSHClient类建立SSH连接,并调用connect方法传入主机名、用户名和密码连接到SSH服务器上:

import paramiko

# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("pidancode.com", username="username", password="password")

其中set_missing_host_key_policy方法用于添加主机key,AutoAddPolicy表示自动添加主机key,当然也可以使用RejectPolicy、WarningPolicy等其他策略,具体可参考paramiko官方文档。

  1. 执行命令

使用exec_command方法执行命令,在命令行中执行“ls -l”,并打印输出结果:

# 执行命令并打印输出
stdin, stdout, stderr = ssh.exec_command("ls -l")
print(stdout.read().decode())

其中,exec_command方法返回的三个值分别为输入流stdin、输出流stdout和错误流stderr,我们这里只需要输出流stdout,使用read方法读取并进行解码。

  1. 关闭SSH连接

使用close方法关闭SSH连接:

# 关闭SSH连接
ssh.close()

完整的代码演示:

import paramiko

# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("pidancode.com", username="username", password="password")

# 执行命令并打印输出
stdin, stdout, stderr = ssh.exec_command("ls -l")
print(stdout.read().decode())

# 关闭SSH连接
ssh.close()

注意:在实际使用中,建议将密码等秘密信息存放在配置文件中,避免泄漏。可以使用ConfigParser库来读取配置文件。另外,SSH连接的管理也需要注意,建议使用连接池等方式复用连接,避免频繁连接和断开导致的性能问题。

相关文章