python 建立SSH连接发送指令

import paramiko
import select

def link_server_client2(serverip, user, pwd):
# 进行连接
print('------------开始连接服务器(%s)-----------' % serverip)
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print('------------开始认证......-----------')
client.connect(serverip, 22, username=user, password=pwd, timeout=4)
print('------------认证成功!.....-----------')
# 开启channel 管道
transport = client.get_transport()
channel = transport.open_session()
channel.get_pty()
# 执行命令nohup.log.2017-12-30
tail = 'tail -f /app/logs/system.log'
#将命令传入管道中
channel.exec_command(tail)
while True:
if channel.exit_status_ready():
break
try:
rl, wl, el = select.select([channel], [], [])
if len(rl) > 0:
recv = channel.recv(1024)
print(recv.decode('utf-8', 'ignore'))


text_save(recv.decode('utf-8', 'ignore'), 'tail(' + serverip + ').txt')
#键盘终端异常
except KeyboardInterrupt:
print("Caught control-C")
channel.send("\x03") # 发送 ctrl+c
channel.close()
client.close()

# 文件存储
def text_save(content, filename, mode='a'):

file = open(filename, mode)

for i in content:

file.write(i.encode("utf-8"))
file.close()

转载于:https://www.cnblogs.com/dmtz/p/10898397.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值