前言
Paramiko 是 Python 语言的一个 SSH 客户端。可以远程连接Linux服务器,通过 python 对 Linux 进行操作,可以实现进行对远程服务器进行下载和上传文件操作。
exec_command() 操作
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(
hostname='127.1.1.12',
port=22,
username='root',
password='aa**********',
timeout=5
)
while True:
cmdline = input("command: ")
stdin, stdout, stderr = ssh.exec_command(cmdline)
for row in stdout.readlines():
row = row.replace('\r', '').replace('\n', '').replace('\t', '')
print(row)
invoke_shell() 操作
代码示例:
import paramiko
# 建立一个socket
trans = paramiko.Transport(('127.0.1.66', 22))
# 启动一个客户端
trans.start_client()
# 如果使用用户名和密码登录
trans.auth_password(username='root', password='aa********')
# 打开一个通道
channel = trans.open_session()
# 获取终端
channel.get_pty()
# 激活终端,这样就可以登录到终端了,就和我们用类似于xshell登录系统一样
channel.invoke_shell()
results = channel.recv(1024000)
print(f"输出1: {results.decode()}")
channel.send("ll\n")
while True:
results2 = channel.recv(1024000)
print(f"输出2: {results2.decode()}")
标签:shell,invoke,exec,ssh,command,channel,paramiko,row
From: https://www.cnblogs.com/yoyoketang/p/18021677