如何用Python登录SSH并执行脚本

1. 整体流程

首先,让我们看一下整个过程的步骤:

gantt
    title Python登录SSH并执行脚本流程图
    section 操作步骤
    连接SSH服务器          :a1, 2023-10-01, 1d
    输入用户名和密码       :after a1, 1d
    执行指定脚本           :2023-10-02, 2d

2. 具体步骤及代码示例

步骤一:连接SSH服务器

在Python中,我们可以使用Paramiko库来连接SSH服务器。首先,你需要安装Paramiko库:

pip install paramiko

接着,在Python代码中使用Paramiko库连接SSH服务器:

import paramiko

# 创建SSHClient实例
ssh = paramiko.SSHClient()

# 允许连接不在known_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接SSH服务器
ssh.connect('hostname', port, 'username', 'password')

步骤二:输入用户名和密码

在上一步中,我们已经成功连接到了SSH服务器,接下来就需要输入用户名和密码,这一步不需要额外的Python代码。

步骤三:执行指定脚本

最后,我们需要执行指定的脚本。假设我们要执行一个名为script.sh的脚本,我们可以使用以下代码:

# 执行脚本
stdin, stdout, stderr = ssh.exec_command('./script.sh')

# 输出脚本执行结果
print(stdout.read().decode('utf-8'))

# 关闭SSH连接
ssh.close()

3. 总结

通过以上步骤,你可以成功用Python登录SSH并执行脚本了。记得在实际操作中替换掉示例中的hostnameportusernamepasswordscript.sh为你实际使用的信息和脚本名称。希望这篇文章对你有所帮助!