相关疑难解决方法(0)

使用 Paramiko 时的环境变量差异

我通过终端(在 Mac 上)连接到 SSH 并运行 Paramiko Python 脚本,由于某种原因,这两个会话的行为似乎不同。PATH在这些情况下,环境变量是不同的。

这是我运行的代码:

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='myuser',password='mypass')
stdin, stdout, stderr =ssh.exec_command('echo $PATH')
print (stdout.readlines())
Run Code Online (Sandbox Code Playgroud)

知道为什么环境变量不同吗?

我该如何解决?

python ssh environment-variables paramiko

7
推荐指数
2
解决办法
9578
查看次数

Paramiko 上的 exec_command 和使用 invoke_shell() 发送有什么区别?

那么在Paramiko上SSHClient.exec_command()发送和发送有什么区别SSHClient.invoke_shell

我可以使用exec_commandMikroTik 路由器设备发送和执行命令,但无法使用send( invoke_shell())执行它。

另一方面,我可以向Cisco 设备发送和执行命令send( invoke_shell()),但不能使用exec_command.

我的意思是配置命令,如路由(ip route xxx xxx)或make vlan或添加ip地址等。

python ssh cisco paramiko

7
推荐指数
1
解决办法
9005
查看次数

有没有一种简单的方法可以摆脱使用Python的Paramiko库进行SSH并从远程计算机的CLI获取输出时出现的垃圾值?

我使用Python的Paramiko库来SSH远程机器并从命令行获取一些输出.我看到很多垃圾打印和实际输出.如何摆脱这个?

chan1.send("ls\n")
output = chan1.recv(1024).decode("utf-8")
print(output)
[u'Last login: Wed Oct 21 18:08:53 2015 from 172.16.200.77\r', u'\x1b[2J\x1b[1;1H[local]cli@BENU>enable', u'[local]cli@BENU#Configure',
Run Code Online (Sandbox Code Playgroud)

我想从输出中消除[2J\x1b [1; 1Hu].他们是垃圾.

python ssh shell ansi-escape paramiko

3
推荐指数
1
解决办法
1389
查看次数

当使用JSch通过Java执行时,某些Unix命令失败并显示"... not found"

我有一段连接到Unix服务器并执行命令的代码.

我一直在尝试简单的命令,他们工作正常.

我能够登录并获得命令的输出.

我需要通过Java运行Ab-initio图.

我正在使用此air sandbox run graph命令.

当我使用SSH客户端登录并运行命令时,它运行正常.我能够运行图表.但是,当我尝试通过Java运行命令时,它会给我一个"未找到空气"的错误.

对JSch支持的Unix命令有什么限制吗?

知道为什么我无法通过我的Java代码运行命令吗?

这是代码:

public static void connect(){
    try{
      JSch jsch=new JSch();  

      String host="*****";
      String user="*****";
      String config =
                "Host foo\n"+
                "  User "+user+"\n"+
                "  Hostname "+host+"\n";

      ConfigRepository configRepository =
            com.jcraft.jsch.OpenSSHConfig.parse(config);

      jsch.setConfigRepository(configRepository);
      Session session=jsch.getSession("foo");

      String passwd ="*****";
      session.setPassword(passwd);
      UserInfo ui = new MyUserInfo(){

          public boolean promptYesNo(String message){

            int foo = 0;
            return foo==0;
          }
      };
      session.setUserInfo(ui);
      session.connect();

      String command="air sandbox run <graph-path>";

      Channel channel=session.openChannel("exec");
      ((ChannelExec)channel).setCommand(command);

      channel.setInputStream(null);

      ((ChannelExec)channel).setErrStream(System.err);

      InputStream …
Run Code Online (Sandbox Code Playgroud)

java unix ssh shell jsch

2
推荐指数
1
解决办法
1691
查看次数

标签 统计

ssh ×4

paramiko ×3

python ×3

shell ×2

ansi-escape ×1

cisco ×1

environment-variables ×1

java ×1

jsch ×1

unix ×1