Autosshd

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску

Пример использования

Private ключ взял из скрипта etersoft_tunnel.sh и положил в /var/lib/autosshd/.ssh/id_dsa.anyssh.a185

На сервере sshd у меня запущен на 32 порту. Положил в /etc/autossh.d следующий конфиг (anyssh.etersoft.conf):

AUTOSSH_LOGLEVEL=4
AUTOSSH_POLL=120
AUTOSSH_GATETIME=0
AUTOSSH_DEBUG=yes.

AUTOSSH_PIDFILE=/var/run/autossh.d/anyssh.etersoft.pid
AUTOSSH_LOCKFILE=anyssh.etersoft.lck
AUTOSSH_LOGFILE=/var/lib/autosshd/anyssh.etersoft.log

HOST=anyssh.eterhost.ru
USER=_autossh
REMOTESSH_USER=a185
LOCAL_PORT=32
REMOTE_PORT=10185
REMOTE_KEY=/var/lib/autosshd/.ssh/id_dsa.anyssh.a185
AUTOSSH_PORT=11185

MANUAL=no

AUTOSSH_OPTIONS=" -M ${AUTOSSH_PORT} -R ${REMOTE_PORT}:localhost:${LOCAL_PORT} -f ${REMOTESSH_USER}@${HOST} -i ${REMOTE_KEY}"
========================

У пользователя соответственно такие настройки:

Host server-gate

   User a185
   Port 22
   HostName anyssh.eterhost.ru
   IdentityFile /home/pv/.ssh/id_dsa.anyssh.a185
   LocalForward localhost:32113 localhost:10185
   Compression yes
   ForwardAgent yes

Host server

   User pv
   Port 32113
   HostName localhost
   Compression yes
   ForwardAgent yes

а скрипт для запуска autossh от пользователя:

  1. !/bin/sh
  1. ssh-add

export AUTOSSH_DEBUG=1 export AUTOSSH_GATETIME=0 export AUTOSSH_PORT=20050 export AUTOSSH_POLL=120 autossh -f -N server-gate


У пользователя соответственно тоже ключ положил в /home/USER/.ssh/id_dsa.anyssh.a185

а после запуска скрипта с autossh (который поддерживает постоянным соединение), в случае необходимости захожу на свой сервер уже так:

ssh server


Я приводил пример конфига для autosshd для поднятия тунеля от севера пользователя до anyssh. А пользователь уже на свой сервер заходит пользуясь "своими" настройками. Но ничто не мешает у пользователя тоже поднимать канал до сервера через autosshd. Например нам (у меня на работе)эЭто полезно для доступа к нашему серверу с отладочных ноутбуков (у которых может быть много пользователей).

Так вот для этого на самом деле берёться такой же собственно конфиг 

LOCAL_PORT=32113

"-R ${REMOTE_PORT}:localhost:${LOCAL_PORT}" меняется на "-L ${LOCALPORT_PORT}:localhost:${REMOTE_PORT}"

(т.е. проброс в обратную сторону.. локальный порт в удалённый на anyssh). и всё.

У пользователя при этом собственно тогда server-gate и autossh запускать не нужно.