python - 用于从该框中通过 SSH 连接到 jumphost 和 sftp 的 Python 脚本
问题描述
我目前正在尝试编写一个气流作业,该作业将允许我通过 ssh 进入 EC2 实例,然后从此 EC2 框中与另一台主机启动 sftp 会话。我目前的代码如下:
def run_ssh():
hook = SSHHook(ssh_conn_id='xyz').get_conn() #returns an ssh client
stdin, stdout, stderr = hook.exec_command('sftp user@host.com;')
# This next step prompts me for password so i provide it
stdin.write('password')
logging.info(stdout.readlines())
stdin, stdout, stderr = hook.exec_command('ls')
logging.info(stdout.readlines())
当我打印最后一行时,我应该看到一些文件夹,但只是看到 ['a\n']... 所以看来我实际上无法 sftp。有没有更好的方法通过本地运行的 python 脚本从远程主机进行 sftp。
对此的任何帮助表示赞赏。答案可以针对一个简单的 python 脚本,而不是气流。
解决方案
对于您的字面问题,请参阅:
Pass input/variables to command/script over SSH using Python Paramiko
尽管以这种方式实现 SFTP over jump host 并不是一个好的解决方案。
改用端口转发:
推荐阅读
- php - 如何配置 knp_snappy 包以生成不同的页面格式
- r - 如何在非交互式调用中获取 getParseData 的结果?
- java - 为什么我的应用会发出 Unsupported URI content 错误?
- javascript - ajax调用后如何触发脚本
- flutter - 使用 NetworkImage 显示来自 Google Drive 的图像
- vba - 将单词“and”添加到消息框中的列表中
- pandas - 数字是csv中的字符串?
- python - 如何将两列(第一列具有相同的值)插入数据框
- optaplanner - 尝试本地搜索时出现 JBoss 工作台异常
- python - 如何更有效地在 Python 中压缩 jpeg?