我正在使用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()