Могу ли я передать сессию SSH с языка программирования на системный терминал? - PullRequest
0 голосов
/ 17 июня 2019

Я работаю со 100+ серверами, каждый из которых имеет разные учетные данные SSH, пароли которых меняются довольно часто.Список серверов и учетных данных хранится во внутренней вики нашей компании.Каждый раз, когда мне нужно подключиться к одному из серверов, мне приходится просматривать вики и копировать-вставлять информацию, чтобы собрать строку подключения для системного терминала.

Поскольку я должен повторить этообрабатывая десятки раз в день, я ищу способ оптимизировать эту процедуру.

Используя любой язык программирования, я могу легко извлечь информацию и создать строку подключения.Но после этого я хотел бы как-то создать сеанс SSH, используя сгенерированную строку соединения, и иметь сеанс SSH доступным в системном терминале, который в моем случае является терминалом Ubuntu.

Делаете ли вызнаете какой-нибудь язык программирования или метод, который позволил бы запускать пользовательский вход в систему для сбора информации о соединении и затем использовать его для запуска сеанса SSH в системном терминале?

1 Ответ

0 голосов
/ 17 июня 2019

Как намекнул @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");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...