Консольный менеджер ssh сессий

Когда количество серверов начинает зашкаливать, возникает необходимость их организовать. Каждый раз забивать ip адрес нет никакого желания, особенно если делаешь это по 50 раз за день. К сожалению функции стандартного Терминал-а мне не подошли, так как времени на открытие новой сессии через стандартное меню уйдет даже больше, чем если набирать “ssh [email protected] -p3322”. За насколько минут я написал небольшой скрипт, который выводит список серверов с возможностью выбора к какому нужно подключиться. Выглядит это примерно так:

servers

В данном примере если сервер выбран из подсети 192.173.0. – подключение будет по порту 3322. Сам скрипт, который вы можете доработать по своему желанию такой:
#!/bin/sh
ARRAY=('192.168.0.100' '192.173.0.1' '192.173.0.163' '192.173.0.166' '192.173.0.167' '192.173.0.168' '192.173.0.169')
SERVERS=${#ARRAY[@]}
echo "Выбери сервер:"
for (( i=0;i<$SERVERS;i++)); do
    echo $i\) ${ARRAY[${i}]}
done 

read choice

echo "Соединяемся с ${ARRAY[${choice}]}"
net=$(echo ${ARRAY[${choice}]} | awk 'BEGIN {FS="."} {print $1"."$2"."$3"."}')
if [ $net == "192.173.0." ]; then
ssh [email protected]${ARRAY[${choice}]} -p3322
else
ssh [email protected]${ARRAY[${choice}]}
fi
done

Когда количество серверов начинает зашкаливать, возникает необходимость их организовать. Каждый раз забивать ip адрес нет никакого желания, особенно если делаешь это по 50 раз за день. К сожалению функции стандартного Терминал-а мне не подошли, так как времени на открытие новой сессии через стандартное меню уйдет даже больше, чем если набирать "ssh [email protected] -p3322". За насколько минут я написал небольшой скрипт, который выводит список серверов с возможностью выбора к какому нужно подключиться. Выглядит это примерно так:

servers

В данном примере если сервер выбран из подсети 192.173.0. - подключение будет по порту 3322. Сам скрипт, который вы можете доработать по своему желанию такой:
#!/bin/sh
ARRAY=('192.168.0.100' '192.173.0.1' '192.173.0.163' '192.173.0.166' '192.173.0.167' '192.173.0.168' '192.173.0.169')
SERVERS=${#ARRAY[@]}
echo "Выбери сервер:"
for (( i=0;i<$SERVERS;i++)); do
    echo $i\) ${ARRAY[${i}]}
done 

read choice

echo "Соединяемся с ${ARRAY[${choice}]}"
net=$(echo ${ARRAY[${choice}]} | awk 'BEGIN {FS="."} {print $1"."$2"."$3"."}')
if [ $net == "192.173.0." ]; then
ssh [email protected]${ARRAY[${choice}]} -p3322
else
ssh [email protected]${ARRAY[${choice}]}
fi
done

Рекомендуем почитать
Обзор PAC Manager под Linux

В который раз я убеждаюсь в "силе" OpenSource. Не в той силе, что OpenSource-программы на много круче закрытых аналогов, а Читать дальше...

Медленное подключение SCP и SSH в Linux

Небольшой фикс для тех кто столкнулся с проблемой медленного установления соединения с системой. Откройте терминал и отключите авторизацию по GSSAPI Читать дальше...

Проброс порта через ssh туннель в Mac OS X

Создать ssh-туннель в Mac OS X можно следующей командой sudo ssh [email protected]_out_server -L 80:ip_in_server:80 Теперь подключиться к ip_in_server по 443 Читать дальше...

MacOS что с тобой?

Сегодня захожу в App Store и вижу сию красоту. Причем глюки периодически вылетают глюки с отображаением App Strore и на Читать дальше...

Поделиться

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *