0
paramiko.SSHClient.exec_command()를 사용하여 원격 서버에서 명령을 실행하고 있습니다. 누군가 invoke_shell (width = 150)과 같이 너비를 변경할 수 있는지 알고 있습니까?증가 paramiko.SSHClient.exec_command() width
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("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
(사용 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")
원격 서버의 구성을 통해이 작업을 수행 할 수 있다고 생각합니다. 그게 너에게 효과가 있니? 어떤 OS를 실행하고 있습니까? – sytech
글쎄, 내 리눅스 쉘에서'ssh [email protected]을 실행하면 "ls -la"'나는 내가 원하는 것을 얻는다. 서버 구성이 아니라고 생각합니다. CentOS7에서 파이썬 코드를 실행합니다. –
문제를 복제 할 수 없습니다. 'exec_command'를 사용하면'pty' 터미널을 설정하지 않을 수도 있습니다. 어쩌면 그 터미널과 관련이 있습니다. 'exec_command'와'ssh' 세션에서'env'를 실행하고 환경 변수가 어떻게 다른지 볼 수 있습니다. – tdelaney