гуевая ходилка на сервера ssh из списка
есть более 20 серверов, которые различаются одной цифрой на конце IP, и поэтому постоянно забываю кто из них кто. идея написать скрипт родилась из обсуждения в irc:
loord: парни подскажите. надо ходить по SSH на кучу серверов. через консоль удобно. но каждый раз надо помнить пароли и адреса серверов. подскажите есть ли какойто менеджер для такого.
loord: какбы гуевый клиент под ssh это глупо. но впадлу набирать пути каждый раз
мне бы так, чтобы перед глазами было список-наименований. взял одно тыкнул, или набрал и оно зашло.
seven loord: в венде есть удобный Xshell, помнит логины пароли к серверам
enemy loord: 1. авторизация по ключам
предполагается что авторизация по ключам у нас есть
а сам гуй под катом:
#!/bin/bash ARGS=$(while read descr ip bred ; do echo -en "$descr $ip " ; done < ~/servers.lst) TARGET=$(zenity --list --text="TEXT" --print-column=2 --column="name" --column="IP address" $ARGS) [[ $? && "x"$TARGET != "x" ]] && ssh $TARGET
пример файла ~/servers.lst
localhost oleg@localhost router proxy squid@proxy u1 эта надпись занесется в переменную bred u2 и не будет использоваться в дальнейшем скрипте db2 "текст с пробелами" в первой колонке не поддерживается :(
что можно доделать:
1. ключ типа -l /path/to/servers.lst
2. последний позиционный параметр: go2server TARGET
- bliznezz's blog
- 3882 просмотра
Страница для печати


1. Ставите KeepassX.
2. Заносите в него данные по Вашим SSH серверам.
3. Настраиваете в KeepassX комбинацию клавиш в настройках.
Всё!
Открываете терминал, нажимаете комбинацию клавиш, появляется окошко от KeepassX со списком SSH, выбираете нужный и KeepassX сам введёт всё что нужно. Моя строка в настройках авто-ввода в KeepassX выглядит так: ssh root@{URL}{ENTER}{DELAY 3000}{Password}{ENTER}
Да помнится у меня тоже был такой скрипт Ж:-)
Потом я открыл для себя автодополнение zsh из ~/.ssh/known_hosts
и настройку опций подключения для отдельных хоcтов ssh.
это немного не то, что я хотел. у меня в know_hosts более 400 хостов, а есть много "похожих", но различающихся в имени хоста парой букв, и последней цифрой. знаю имя (мнемоника) - надо вспомнить IP.
ну можно нагенерировать в ~/.ssh/config все эти хосты.
хотя на вкус и цвет.. Ж:-)
PAC, это то что Вы ищите!
remmina
реализован необходимый вам функционал в проекте remmina
сам только недавно начал активно пользоваться
http://remmina.sourceforge.net/screenshots.shtml
спасибо. похоже будет полезно.
А почему бы не использовать стандартные средства ssh для этого? http://the-bosha.ru/2009/12/20/fast-ssh/
ssh server1
ssh server2
и т.д.
да.. както не подумал. хотя сам писал сдеть типс по использованию ~/.ssh/config
стыдно :-)
ключи+~/.ssh/config+bash-completion
Я в свое время писал нечто подобное себе. :) Только еще в логи писал сколько времени я провел не том или ином сервере, что бы потом примерно оценит временные затраты. Довольно удобно было.
"временные затраты" можно посмотреть по команде last (последний столбец)
А почему бы вам не использовать профили гномовского терминала, так довольно удобно
Отправить комментарий