Python中建立SSH连接并打印所有指令返回信息
时间: 2023-03-04 20:08:16 浏览: 118
使用Python来建立SSH连接,需要使用Paramiko模块,使用以下代码可以建立连接并打印所有指令返回信息:import paramikossh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('hostname', username='username', password='password')
stdin, stdout, stderr = ssh.exec_command('command')
print(stdout.read())
ssh.close()
相关问题
python如何建立ssh连接
在Python中,可以使用Paramiko模块来建立SSH连接。具体步骤如下:
1. 安装Paramiko模块:在终端或命令行中输入`pip install paramiko`,即可安装Paramiko模块。
2. 导入Paramiko模块:在Python脚本中,使用`import paramiko`导入Paramiko模块。
3. 建立SSH连接:使用Paramiko模块的SSHClient类建立SSH连接。示例代码如下:
```
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('服务器IP地址', port=22, username='用户名', password='密码')
```
其中,set_missing_host_key_policy()方法用于自动添加新主机的密钥,避免出现"Unknown host key"的提示;connect()方法用于建立SSH连接。在connect()方法中,需要传入服务器的IP地址、端口、用户名和密码。
4. 执行命令:SSH连接建立成功后,可以使用exec_command()方法执行命令。示例代码如下:
```
stdin, stdout, stderr = ssh.exec_command('ls')
print(stdout.read().decode())
```
其中,exec_command()方法用于执行命令,并返回标准输入、标准输出和标准错误输出。上述示例代码中,执行了"ls"命令,并打印了标准输出。
python实现ssh远程登录
要使用Python实现SSH远程登录,首先需要安装paramiko库。然后可以使用paramiko模块的SSHClient类来创建一个SSH客户端对象。接下来,可以使用SSH客户端对象的connect()方法来连接到目标主机。在connect()方法中,需要提供目标主机的IP地址、端口号、用户名和密码作为参数。一旦连接成功,就可以使用SSH客户端对象的exec_command()方法执行远程命令。
下面是一个示例代码,展示了如何使用Python实现SSH远程登录:
```
import paramiko
def ssh_login(ip, port, username, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port, username, password)
return ssh
def ssh_execute_command(ssh, command):
stdin, stdout, stderr = ssh.exec_command(command)
output = stdout.read().decode('utf-8')
return output
def main():
ip = '192.168.xx.xx'
port = 22
username = 'root'
password = 'pwd'
ssh = ssh_login(ip, port, username, password)
output = ssh_execute_command(ssh, 'pwd')
print(output)
output = ssh_execute_command(ssh, 'ifconfig')
print(output)
ssh.close()
if __name__ == '__main__':
main()
```
在这个示例代码中,首先定义了一个ssh_login()函数,它接受目标主机的IP地址、端口号、用户名和密码作为参数,并使用paramiko库创建一个SSH客户端对象,并通过connect()方法连接到目标主机。然后定义了一个ssh_execute_command()函数,它接受一个SSH客户端对象和要执行的命令作为参数,并使用exec_command()方法执行远程命令,并返回命令的输出。最后,在main()函数中,调用了ssh_login()函数来建立SSH连接,然后使用ssh_execute_command()函数执行了两个远程命令,并打印输出结果。最后,调用ssh.close()关闭SSH连接。
这样,就实现了使用Python进行SSH远程登录。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [python实现远程ssh登录](https://blog.csdn.net/u010835747/article/details/126562612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文