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

Строка 269: Строка 269:


== AutoSSH ==
== AutoSSH ==
Еще одно резервное подключение к контроллеру сделаем на основе AutoSSH. Механизм работы таков: с контроллера устанавливается ssh-соединение к серверу, при этом ssh-порт контроллера пробрасывается на один из свободных портов на localhost сервера. Сервис аutossh следит за тем, что ssh-соединение не разорвано, и в случае разрыва восстанавливает его. Восстановление происходит не мгновенно -- какое-то время порт, используемый на localhost сервера удерживается sshd.  
Еще одно резервное подключение к контроллеру сделаем на основе <code>AutoSSH</code>. Механизм работы таков: с контроллера устанавливается ssh-соединение к серверу, при этом ssh-порт контроллера пробрасывается на один из свободных портов на localhost сервера. Сервис аutossh следит за тем, что ssh-соединение не разорвано, и в случае разрыва восстанавливает его. Восстановление происходит не мгновенно какое-то время порт, используемый на <code>localhost</code> сервера удерживается демоном <code>sshd</code>.  


Устанавливаем на контроллере apt-get install autossh. Генерируем пару ключей для пользователя root:
Устанавливаем на контроллере <code>apt-get install autossh</code>. Генерируем пару ключей для пользователя <code>root</code>:
ssh-keygen  
<pre>ssh-keygen </pre>
Пароль — пустой.
Пароль — пустой.


Для обслуживания удаленных подключений создаем пользователя remote на сервере с оболочкой /bin/false.
Для обслуживания удаленных подключений создаем пользователя <code>remote</code> на сервере с оболочкой <code>/bin/false</code>:


В файл /home/remote/.ssh/authorized_keys на сервере добавляем созданный на контроллере ключ /root/.ssh/id_rsa.pub с преамбулой
<pre>adduser --home /home/remote --shell /bin/false remote </pre>


no-agent-forwarding,no-X11-forwarding,permitopen="localhost:62001"
В файл <code>/home/remote/.ssh/authorized_keys</code> на сервере добавляем созданный на контроллере ключ <code>/root/.ssh/id_rsa.pub</code> с преамбулой


Что обеспечит дополнительную безопасность сервера при подключении контроллера. Порт 62001 — порт localhost сервера, на который будет перенаправлен ssh-порт данного контроллера.  
<code>no-agent-forwarding,no-X11-forwarding,permitopen="localhost:62001" </code>
 
что обеспечит дополнительную безопасность сервера при подключении контроллера. Порт 62001 — порт localhost-сервера, на который будет перенаправлен ssh-порт данного контроллера.  


Первый раз подключаемся с контроллера на сервер вручную:
Первый раз подключаемся с контроллера на сервер вручную:
ssh remote@vpn.mydomain.com  
<pre>ssh remote@vpn.mydomain.com </pre>


На контроллере создаем файл \etc\systemd\system\autossh.service для запуска autossh в качестве сервиса:
На контроллере создаем файл <code>\etc\systemd\system\autossh.service</code> для запуска <code>autossh</code> в качестве сервиса:




<pre>
[Unit]
[Unit]
Description=Keeps an ssh tunnel to remote host open
Description=Keeps an ssh tunnel to remote host open
Строка 307: Строка 310:
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</pre>
Включаем сервис а автозагрузку на контроллере:
<pre>systemctl enable autossh.service</pre>


Включаем сервис а автозагрузку на контроллере  systemctl enable autossh.service
После запуска сервиса мы можем подключиться к контроллеру на сервере с помощью команды  
 
<pre>ssh 127.0.0.1 -p 62001</pre>
После запуска сервиса мы можем подключиться к контроллеру на сервере с помощью команды ssh 127.0.0.1 -p 62001


== Возможные неполадки GPRS-соединения ==
== Возможные неполадки GPRS-соединения ==
5813

правок