【发布时间】:2018-08-31 10:20:14
【问题描述】:
在 Linux 机器 A 上,我有一个脚本正在运行,它应该 ssh 到 Linux 机器 B,同步 B 上的 p4 工作区然后执行一段代码。
我已经在 B 上设置了 Perforce,我可以在 B 上手动执行 p4 client 和其他命令并且它们可以工作。
但是,当我尝试从机器 A 进行 ssh 时执行相同的操作时,我收到以下错误:
Perforce 客户端错误: 连接服务器失败;检查 $P4PORT。 TCP 连接到 perforce:1666 失败。 名称解析暂时失败
这是我的一段代码:
def ssh_connect(ip,user,pwd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, username=user, password=pwd)
return ssh
def execute_command(device_details, command):
try:
ip = device_details.get('ip')
username = device_details.get('username')
password = device_details.get('password')
ssh_ns_obj = ssh_connect(ip, username, password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh_ns_obj.exec_command(command)
print ssh_stdout.read()
print ssh_stderr.read()
print ssh_stdin.read()
return ssh_stdout.read()
except Exception as e:
print_exception_details()
perforce_sync_command = "cd /root/hello/;chmod -R 444 *;p4 sync ...;chmod -R 755 *"
output = execute_command(device_details, perforce_sync_command)
我错过了什么?
【问题讨论】:
标签: python ssh perforce paramiko