【发布时间】:2015-08-21 12:05:51
【问题描述】:
我想自动化我通过 ssh (putty) 执行的相同操作。
使用腻子连接后,我的.bashrc 被加载(所以我可以使用别名)。如果我尝试在 Python 中执行此操作,则别名 sanity 是不可见的:
sanity: command not found
使用source .bashrc 不是解决方案。
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('xxxxxxx', username='x', password='x', key_filename=None, look_for_keys=False)
stdin, stdout, stderr = ssh.exec_command(
"""
sanity;
""")
stdout.flush()
for line in stdout:
print line
print "END"
print stderr.read()
ssh.close()
【问题讨论】:
-
请分享您的控制台输出(关于使用理智)(理智应用在哪里?)
-
这要复杂得多,我们必须在具有复杂别名的 Linux 上工作(不是我们写的),因此分析别名并“手动”运行它不是一个好主意,我需要运行这个 ssh就像我在机器上有终端一样。