找回密码
 注册
关于网站域名变更的通知
查看: 237|回复: 2
打印 上一主题 下一主题

paramiko.SSHClient()的exec_command()的使用问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-19 13:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
python脚本
  I! d) n$ P$ e( o7 C* N; @  a) B, y& k9 K% b9 M$ |+ ?
#!/usr/bin/env python
1 W, }6 m9 D4 e#coding: utf-83 G  w0 v6 |% Y/ ~, O: S
6 ^+ e8 L% G: G. u5 M
import paramiko& A/ u- j4 e$ O' t6 q) y% |
IP='192.168.xxx.xxx'
4 H7 x' Y# W' OFILEPATH='/root/test/test'
; r* p9 `* S5 `# v- n3 oLINE= 'use'4 Y* I' O  h9 z# B: ^4 W
print(FILEPATH)
7 p: N. z) v  O/ I, r5 x/ \# 建立一个sshclient对象
6 x! b* G# w5 I  {/ Kssh = paramiko.SSHClient()
# o% A' U5 o0 y4 m7 M# 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面% F6 L7 N5 p' t; L9 r2 d
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())2 S, {* @8 T6 u" e7 i4 r
# 调用connect方法连接服务器. y4 T+ f' W9 t8 B! X# |# d
ssh.connect(hostname=IP, port=22, username='root', password='111')0 I9 E+ t6 }8 ^
+ S5 o5 e1 ^# e7 ^
command1="echo $LINE"5 {6 R  J9 p% E0 l
command2=“echo use”* m8 I+ |3 p4 t$ J5 [% T: D0 t; x
stdin1, stdout1, stderr1 = ssh.exec_command(command1/2)8 G. O) O, Q6 |! n4 E' Z/ N
result1 = stdout1.read().decode('utf-8')
4 c1 A9 a; E* O$ G5 d* c& hprint(result1)
8 s. M+ ~' i, M6 m7 Z
1 {1 {, c) K5 u# ~1 V' `: G# 关闭连接
% l. q* R8 L' `$ _ssh.close()
6 A9 i" s* `( O4 T( z6 {( h问题出现在command1不能使用变量,使用字符串的command2可以正常运行;
4 d2 d  Y: y5 U5 {那么应该如何使用变量  p5 R. A/ s0 o" N, I: Y  w

; }; O- \8 `% W4 l" h9 C1 U( ~还有如果想这样使用ssh.exec_command("sed "$a$LINE"  $FILEPATH")  就是向远程服务器指定文件末尾添加内容(想使用变量好适用于不同场景便于修改)应该怎么调整8 S* \% U3 Y8 g2 c* T

该用户从未签到

2#
发表于 2020-8-19 15:07 | 只看该作者
还以为是资料帖

该用户从未签到

3#
 楼主| 发表于 2020-8-19 17:49 | 只看该作者
还有如果想这样使用ssh.exec_command("sed "$a$LINE"  $FILEPATH")  就是向远程服务器指定文件末尾添加内容(想使用变量好适用于不同场景便于修改)应该怎么调整
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 15:23 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表