我使用100多个服务器,每个服务器都有不同的SSH凭据,并且密码经常更改。服务器和凭据列表存储在我们公司的内部Wiki中。每次我需要连接到其中一台服务器时,我都必须查看Wiki并复制粘贴信息,以便将系统终端的连接字符串放在一起。
由于我每天必须重复数十次此过程,因此我正在寻找一种优化此例程的方法。
使用任何编程语言,我都可以轻松提取信息并创建连接字符串。但是之后,我想以某种方式使用生成的连接字符串创建SSH会话,并在系统终端(在我的情况下为Ubuntu终端)中使用SSH会话。
您是否知道允许运行自定义登录来收集连接信息,然后使用它在系统终端中启动SSH会话的任何编程语言或方法?
答案 0 :(得分:0)
正如@Mad Physicist所暗示的,可以通过将生成的ssh命令放入Bash脚本并使用Python运行该脚本来完成。
Bash脚本:
user@machine:~/$ cat ssh.sh
#!/usr/bin/env bash
ssh remote-user@10.10.10.1
bash脚本必须是可执行的,此演示才能正常工作。
user@machine:~/$ chmod +x ssh.sh
Python脚本:
user@machine:~/$ cat ssh.py
import subprocess
subprocess.call("./ssh.sh", shell=True)
执行:
user@machine:~/$ python ssh.py
remote-user@10.10.10.1's password:
Last login: Mon Jun 17 07:31:45 2019 from 10.10.10.2
Remote Server [~]
07:35:31 remote-user@remote-server $ echo hello
hello
Remote Server [~]
07:35:41 remote-user@remote-server $ logout
Connection to 10.10.10.1 closed.
PHP还允许此功能:
user@machine:~/$ cat ssh.php
<?php
passthru("ssh remote-user@10.10.10.1");