6

Я ищу менеджер соединений для Linux, который работает в CLI. Чтобы быть понятным, под диспетчером соединений я имею в виду программу, которая позволяет создавать, сохранять и быстро запускать удаленные соединения. Подобно mRemote, mRemoteNG, VRD, терминалы, Devolutions RDM и т.д. Вы должны быть в состоянии определить тип подключения (SSH), пункт назначения (IP или DNS), и paramerts , такие как версия SSH, имя пользователя / пароль, и т.д.

Мы находимся в процессе усиления безопасности в среде большого поставщика услуг менеджера и создадим пару «отрывных» Linux-пакетов. Идея состоит в том, что наша команда и поддержка уровня 1 будут использовать SSH для этих серверов Linux, а затем оттуда подключаться к различным элементам сетевого оборудования по всей среде. Это более безопасно и необходимо из-за некоторых маршрутизации (VRF) на месте.

В идеале я надеюсь, что решение хранит соединение в mySQL или аналогичном, так что мы можем легко получить доступ к одной библиотеке соединений с нескольких машин (блоки переключения).

Кто-нибудь сталкивался с такой программой или проектом? Я нашел несколько приложений для Linux, таких как Remmmina, Monocaffe и PAC Manager, но все они с графическим интерфейсом. Я не хочу, чтобы VNC включался в работу, так как в любом случае нам нужен только CLI для SSH.

Спасибо!

4 ответа4

5

Как насчет использования файла ~/.ssh/config? Легко использовать, поддерживать и делиться с другими. Если вам нужно поделиться им, то репозиторий Git будет идеальным.

Файл выглядит так:

Host somename
  User username
  HostName 192.168.1.X
  Port 2222

Man ssh_config для дополнительных параметров.

1

Вот код из моего файла .zshrc. Он автоматически завершит хосты из /etc /hosts, список, которым вы можете управлять, и те, к которым вы подключались ранее (если у вас в настройке ssh установлено « HashKnownHosts no »). Установка ' HashKnownHosts no ' может рассматриваться как угроза безопасности, потому что пользователи, которые уже имеют доступ к вашему файлу $HOME/.ssh/known_hosts могут видеть системы, к которым вы ранее подключались. Это было украдено из конфигов grml.

if is42 ; then
    [[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
    [[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
else
    _ssh_hosts=()
    _etc_hosts=()
fi
hosts=(
    $(hostname)
    "$_ssh_hosts[@]"
    "$_etc_hosts[@]"
    example.com
)
zstyle ':completion:*:hosts' hosts $hosts

После добавления все работает как по волшебству.

0

Написанный на Ruby, он имеет хороший DSL для хранения соединений в файле ~/.sshc

https://github.com/troydm/sshc

0

Используйте некоторые пользовательские скрипты и управляйте ими через Puppet или git. Полная настройка, простота управления с помощью марионеток или VCS. Тем более, что вы не пытаетесь исправить существующее решение, я настоятельно рекомендую сделать его на заказ, чтобы у вас был полный контроль над ним.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .