用paramiko写一个登录远程主机后执行cd / 以及pwd的程序 并给出执行的预期结果
时间: 2023-09-18 19:09:16 浏览: 44
下面是一个使用 paramiko 模块登录远程主机、执行 `cd /` 和 `pwd` 命令的 Python 程序示例:
```python
import paramiko
# 创建 SSH 客户端对象
ssh = paramiko.SSHClient()
# 设置自动添加主机密钥
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接远程主机
ssh.connect('your_remote_host', username='your_username', password='your_password')
# 执行 cd / 命令
stdin, stdout, stderr = ssh.exec_command('cd /')
# 打印执行结果
print(stdout.read())
# 执行 pwd 命令
stdin, stdout, stderr = ssh.exec_command('pwd')
# 打印执行结果
print(stdout.read())
# 关闭 SSH 连接
ssh.close()
```
预期输出结果:
执行 `cd /` 命令后,无输出结果;执行 `pwd` 命令后,输出当前工作目录的绝对路径,例如 `/`。
相关问题
帮我写一个django 使用ssh库远程执行sh /text/text.sh
好的,以下是使用paramiko库在Django中远程执行sh /text/text.sh的示例代码:
```python
import paramiko
def execute_remote_script():
# SSH连接的配置信息
hostname = 'remote_host'
username = 'remote_user'
password = 'remote_password'
port = 22
# 创建SSH客户端并连接远程主机
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, port=port, username=username, password=password)
# 执行远程脚本
stdin, stdout, stderr = ssh.exec_command('/bin/bash /text/text.sh')
# 获取执行结果
output = stdout.read().decode('utf-8')
error = stderr.read().decode('utf-8')
# 关闭SSH连接
ssh.close()
return output, error
```
你需要将hostname、username和password替换为你的远程主机的实际值,然后在你的Django视图函数中调用execute_remote_script()函数即可。注意,由于SSH连接是一个耗时的操作,建议将execute_remote_script()函数放在异步任务中执行,以避免阻塞Django应用程序。
python调用paramiko在远程主机上执行多个命令代码
可以使用Paramiko库来在远程主机上执行多个命令,以下是一个示例代码:
```python
import paramiko
# 连接远程主机
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='remote_host', username='username', password='password')
# 执行多个命令
commands = ['command1', 'command2', 'command3']
for command in commands:
stdin, stdout, stderr = ssh.exec_command(command)
print(stdout.read().decode())
# 关闭连接
ssh.close()
```
其中,`hostname`是远程主机的IP地址或主机名,`username`和`password`是用于登录远程主机的用户名和密码。`commands`是一个列表,包含要执行的多个命令。在循环中,使用`ssh.exec_command()`方法执行每个命令,并读取标准输出。最后,关闭SSH连接。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)