无法建立SSH连接:SSH二进制文件“”不存在。
时间: 2023-11-18 11:03:53 浏览: 26
这个问题可能是由于SSH客户端没有安装或者路径配置不正确导致的。你可以尝试以下解决方法:
1. 检查SSH客户端是否已经安装如果没有安装,你先安装SSH客户端。
2. 检查SSH客户端的路径是否配置正确。你可以在终端输入“ssh”命令来测试一下SSH客户端是否能够正常启动。如果无法启动,可能是路径配置不正确。
3. 检查SSH客户端的环境变量是否设置正确。你可以在终端输入“echo $PATH”命令来查看系统环境变量,确认SSH客户端的路径是否包含在其中。
如果以上方法都无法解决问题,你可以尝试重新安装SSH客户端,或者查看系统日志以获取更多信息。
相关问题
python3 如何用subprocess模块结合ssh模块来直接在本地模拟远程执行二进制文件
在Python中,可以使用`subprocess`模块结合`paramiko`模块来间接地在本地模拟远程执行二进制文件,因为`subprocess`提供了一种简单的方式来执行外部程序,而`paramiko`已经帮你建立了到远程服务器的SSH连接。以下是基本步骤:
1. 首先,使用`paramiko`创建SSH客户端连接到远程服务器:
```python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host='remote_host', username='username', password='password')
```
2. 创建一个`Popen`实例,这里的`shell=True`意味着你可以像在远程终端一样执行命令,包括二进制文件:
```python
command = "cd /path/to/bin && ./binary_file"
stdin, stdout, stderr = ssh.exec_command(command, shell=True)
```
3. 然后,你可以处理`stdout`和`stderr`获取输出和错误信息:
```python
output = stdout.read().decode('utf-8')
error = stderr.read().decode('utf-8')
print("Output:", output)
if error:
print("Error:", error)
```
4. 最后,关闭连接:
```python
ssh.close()
```
阅读全文