Autosshd: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
м
 
(не показано 13 промежуточных версий 4 участников)
Строка 1: Строка 1:
== Пример использования ==
== Пример использования ==


Private ключ взял из скрипта etersoft_tunnel.sh и положил в  
'''DISCLAMER:''' Прежде всего нужно установить пакет autosshd (который потянет за собой и autossh). Этот пакет включает в себя файлы оснастки службы autosshd как для SystemV, так и для SystemD. А вот сам пакет имеется только в полутора репозиториях и явные ссылки на пакеты deb и rpm никто не догадался привести !
/var/lib/autosshd/.ssh/id_dsa.anyssh.a185


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


<pre>
Сначала нужно зарегистрироваться на http://anyssh.ru/
AUTOSSH_LOGLEVEL=4
AUTOSSH_POLL=120
AUTOSSH_GATETIME=0
AUTOSSH_DEBUG=yes.


AUTOSSH_PIDFILE=/var/run/autossh.d/anyssh.etersoft.pid
Создать /etc/autossh.d/anyssh.ru.conf на основе /etc/autossh.d/anyssh.ru.conf.template.
AUTOSSH_LOCKFILE=anyssh.etersoft.lck
AUTOSSH_LOGFILE=/var/lib/autosshd/anyssh.etersoft.log


HOST=anyssh.eterhost.ru
Единственный параметр, который надо поменять:
USER=_autossh
REMOTESSH_USER=a211
REMOTESSH_USER=a185
(вписать сюда пользователя, полученного в anyssh.ru)
LOCAL_PORT=32
REMOTE_PORT=10185
REMOTE_KEY=/var/lib/autosshd/.ssh/id_dsa.anyssh.a185
AUTOSSH_PORT=11185


MANUAL=no
Приватный ключ взять из скрипта etersoft_tunnel.sh, выдаваемого в anyssh.ru и положить в
/var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN


AUTOSSH_OPTIONS=" -M ${AUTOSSH_PORT} -R ${REMOTE_PORT}:localhost:${LOCAL_PORT} -f ${REMOTESSH_USER}@${HOST} -i ${REMOTE_KEY}"
Убедиться в правах на файл:
</pre>
# chown _autossh /var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN
# chmod 0600 /var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN


====================================
=== 2) Run the service ===
У пользователя соответственно такие настройки:
service autosshd start


Host server-gate
== Настройка со стороны пользователя ==
     User a185
Для доступа к удалённой машине на которой запущен autosshd, пользователю необходимо
* скопировать себе приватный ключ из полученного файла etersoft_tunnel.sh
и положить к себе (например) в $HOME/.ssh/id_dsa.anyssh.a211
 
* в $HOME/.ssh/config прописать следующие параметры
 
Host myhost-gate
     User a211
     Port 22
     Port 22
     HostName anyssh.eterhost.ru
     HostName anyssh.eterhost.ru
     IdentityFile /home/pv/.ssh/id_dsa.anyssh.a185
     IdentityFile ~/.ssh/id_dsa.anyssh.a211
     LocalForward localhost:32113 localhost:10185
     LocalForward localhost:10210 localhost:10210
     Compression yes
     Compression yes
     ForwardAgent yes
     ForwardAgent yes


Host server
Следует иметь ввиду, что порты проброса берутся из файла настроек для autosshd '''REMOTE_PORT'''
    User pv
    Port 32113
    HostName localhost
    Compression yes
    ForwardAgent yes
 
а скрипт для запуска autossh от пользователя:
 
<pre>
#!/bin/sh
 
# ssh-add
 
export AUTOSSH_DEBUG=1
export AUTOSSH_GATETIME=0
export AUTOSSH_PORT=20050
export AUTOSSH_POLL=120
autossh -f -N server-gate
</pre>
 
У пользователя соответственно тоже ключ положил в
/home/USER/.ssh/id_dsa.anyssh.a185
 
а после запуска скрипта с autossh (который поддерживает постоянным соединение),
в случае необходимости захожу на свой сервер уже так:
 
$ ssh server
 
 
Я приводил пример конфига для autosshd для поднятия тунеля
от севера пользователя до anyssh.
А пользователь уже на свой сервер заходит пользуясь "своими" настройками.
Но ничто не мешает у пользователя тоже поднимать канал до сервера
через autosshd. Например нам (у меня на работе)эЭто полезно для доступа
к нашему серверу с отладочных ноутбуков (у которых может быть много пользователей).
 
Так вот для этого на самом деле берёться такой же собственно конфиг


LOCAL_PORT=32113
* запустить соединение можно командой
ssh -N myhost-gate


"-R ${REMOTE_PORT}:localhost:${LOCAL_PORT}" меняется на
либо '''настроить и использовать autossh''' для myhost-gate
"-L ${LOCALPORT_PORT}:localhost:${REMOTE_PORT}"


(т.е. проброс в обратную сторону.. локальный порт в удалённый на anyssh).
* Теперь, для захода на удалённую машину используйте команду
и всё.
  ssh -p 10210 localhost


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

Текущая версия на 18:20, 7 сентября 2021

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

DISCLAMER: Прежде всего нужно установить пакет autosshd (который потянет за собой и autossh). Этот пакет включает в себя файлы оснастки службы autosshd как для SystemV, так и для SystemD. А вот сам пакет имеется только в полутора репозиториях и явные ссылки на пакеты deb и rpm никто не догадался привести !

anyssh.ru

Сначала нужно зарегистрироваться на http://anyssh.ru/

Создать /etc/autossh.d/anyssh.ru.conf на основе /etc/autossh.d/anyssh.ru.conf.template.

Единственный параметр, который надо поменять:

REMOTESSH_USER=a211

(вписать сюда пользователя, полученного в anyssh.ru)

Приватный ключ взять из скрипта etersoft_tunnel.sh, выдаваемого в anyssh.ru и положить в /var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN

Убедиться в правах на файл:

# chown _autossh /var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN
# chmod 0600 /var/lib/autosshd/.ssh/id_rsa.anyssh.aNNN

2) Run the service

service autosshd start

Настройка со стороны пользователя

Для доступа к удалённой машине на которой запущен autosshd, пользователю необходимо

  • скопировать себе приватный ключ из полученного файла etersoft_tunnel.sh

и положить к себе (например) в $HOME/.ssh/id_dsa.anyssh.a211

  • в $HOME/.ssh/config прописать следующие параметры
Host myhost-gate
   User a211
   Port 22
   HostName anyssh.eterhost.ru
   IdentityFile ~/.ssh/id_dsa.anyssh.a211
   LocalForward localhost:10210 localhost:10210
   Compression yes
   ForwardAgent yes

Следует иметь ввиду, что порты проброса берутся из файла настроек для autosshd REMOTE_PORT

  • запустить соединение можно командой
ssh -N myhost-gate

либо настроить и использовать autossh для myhost-gate

  • Теперь, для захода на удалённую машину используйте команду
  ssh -p 10210 localhost