0
我使用paramiko.SSHClient.exec_command()在远程服务器上运行命令。 有人知道是否有可能改变宽度,就像使用invoke_shell(width = 150)一样?增加paramiko.SSHClient.exec_command()宽度
当我exec_command("ls -la")
我得到:
drwx------. 6 myuser myuser 4096 25 avril 15:59
.
drwxr-xr-x. 14 root root 4096 5 mai 15:05
..
-rw-------. 1 myuser myuser 2818 28 avril 11:09
.bash_history
-rw-r--r--. 1 myuser myuser 340 14 avril 14:16
.bashrc
,我想:
drwx------. 6 myuser myuser 4096 25 avril 15:59 .
drwxr-xr-x. 14 root root 4096 5 mai 15:05 ..
-rw-------. 1 myuser myuser 2818 28 avril 11:09 .bash_history
-rw-r--r--. 1 myuser myuser 340 14 avril 14:16 .bashrc
(使用exec_command,不invoke_shell)
我的代码:
ssh_client = paramiko.SSHClient()
mykey = paramiko.RSAKey.from_private_key_file("/path/to/my/key", password="passphrase")
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect("myserver.mydomain.com", username="myuser", pkey=mykey)
transport = ssh_client.get_transport()
agent_channel = transport.open_session()
agent_handler = paramiko.agent.AgentRequestHandler(agent_channel)
stdin, stdout, stderr = ssh_client.exec_command("ls -la")
我相信这可以通过远程服务器上的配置完成。那对你有用吗?你在运行什么操作系统? – sytech
那么,从我的linux外壳,如果我执行'ssh [email protected]“ls -la”'我得到我想要的行不分裂。我想这不是一个服务器配置的事情。我在CentOS7上运行我的python代码。 –
我无法复制该问题。有了'exec_command',你不会建立一个'pty'终端,也许这与它有关。你可以尝试从'exec_command'和普通的'ssh'会话运行'env',看看环境变量是如何不同的。 – tdelaney