我使用100 +服务器,每台服务器都有不同的SSH凭据,密码经常更改。服务器和凭据的列表存储在我们公司的内部维基中。每次我需要连接到其中一台服务器时,我都必须查看 wiki 并复制粘贴信息,以便将系统终端的连接字符串放在一起。
由于我每天必须重复此过程数十次,因此我正在寻找一种优化此例程的方法。
使用任何编程语言,我都可以轻松提取信息并创建连接字符串。但在此之后,我想以某种方式创建一个 SSH 会话,使用生成的连接字符串,并在系统终端(在我的情况下是 Ubuntu 终端)中提供 SSH 会话。
您是否知道任何编程语言或方法允许运行自定义登录以收集连接信息,然后使用它在系统终端中启动SSH会话?
正如@Mad物理学家所暗示的那样,可以通过将生成的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
蟒蛇脚本:
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");