如何在Python中建立SSH连接

时间:2018-11-05 21:39:02

标签: python ssh

我正在使用Python 3.6.6,并且我需要与服务器建立SSH连接。

我具有服务器的IP和端口,并且我通常使用腻子使用凭据登录。服务器在Linux / Suse上。 我需要获取服务器文件夹中的目录列表,然后将其中一个文件的内容复制出来。我正在使用paramiko,我需要打开连接,以便我可以执行服务器并与之交互。 我不确定我是否足够清楚。

下面是我的代码

import paramiko 

nbytes = 4096
hostname = '123.123.123.123'
port = 22020
username = 'uname' 
password = 'pwd'
command = 'vi log'

client = paramiko.Transport((hostname, port))
client.connect(username=username, password=password)

stdout_data = []
stderr_data = []
session = client.open_channel(kind='session')
session.exec_command(command)

while True:
    if session.recv_ready():
        stdout_data.append(session.recv(nbytes))
    if session.recv_stderr_ready():
        stderr_data.append(session.recv_stderr(nbytes))
    if session.exit_status_ready():
        break

print ("rec status: ", session.recv_ready())
print ("exit status: ", session.recv_exit_status())
print ("".join(stdout_data))
print ("".join(stderr_data))

session.close()
client.close()

0 个答案:

没有答案