четверг, 14 июля 2022 г.

Как подключится к домашнему компютеру находящемуся за NAT...

Кроме сервисов DynDNS (часто встроен в WiFi роутер) есть вариант простого тоннеля через ssh. Домашний компьютер соединяется по SSH  с сервером (нашим)  и уже затем заходя удалённо на тот сервер  мы подключаемся к нашему домашнему компьютеру.


Несколько ссылок как это видят другие авторы

https://mihanentalpo.me/2016/05/ 

https://tokmakov.msk.ru/blog/item/472

http://youngblog.hoster-ok.com/raspberry-pi-i-obratnyj-ssh-tunnel-ili-kak-dobratsya-do-svoej-malinki-za-fajrvolom/

Всё замечательно работает  но не хватает автозапуска - воспользуемся этой проверенной инструкцией  https://www.micronbot.com/Raspberry-Pi/Pi-autossh.html


Копируем скрипт autossh.sh  размещаем в каталоге init.d

/etc/init.d$ ls *.sh
autossh.sh  console-setup.sh  hwclock.sh  keyboard-setup.sh


Скрипт "регистрируем" в загрузке
$ sudo chmod a+x /etc/init.d/autossh.sh  #make the script executable
$ sudo update-rc.d autossh.sh defaults    #create a link under "rc0.d" to the script
$ sudo update-rc.d autossh.sh enable    #execute when startup


Запуск остановка скрипта
sudo /etc/init.d/autossh.sh stop
sudo /etc/init.d/autossh.sh start


Найти в каком конкретно файле происходит загрузка скрипта
ls /etc/rc4.d
ls /etc/rc5.d
ls /etc/rc6.d
ls /etc/rc3.d
ls /etc/rc2.d

Когда скрипт ненужен его можно удалить/остановить
#Remove the script's link under /etc/rc0.d
sudo update-rc.d /etc/init.d/autossh.sh remove
#Enable of disable the script
sudo update-rc.d /etc/init.d/autossh.sh enable|disable

Останавливаем - чтото пошло не так ...
sudo update-rc.d /etc/init.d/autossh.sh disable
update-rc.d: error: cannot find a LSB script for /etc/init.d/autossh.sh
Остановим другим способом
systemctl stop autossh
See system logs and 'systemctl status autossh.service' for details.


Проверим состояние процесса
systemctl status autossh.service

    autossh.service - LSB: starts the autossh
    Loaded: loaded (/etc/init.d/autossh.sh; generated)
    Active: inactive (dead) since Thu 2022-07-14 19:36:42 MSK; 46s ago
    Docs: man:systemd-sysv-generator(8)
    Process: 43883 ExecStop=/etc/init.d/autossh.sh stop (code=exited, status=0/SUCCESS)

июл 14 10:11:56 hm autossh[1185]: starting ssh (count 8)
июл 14 10:11:56 hm autossh[1185]: ssh child pid is 1794
июл 14 19:32:42 hm autossh[1185]: received signal to exit (15)
июл 14 19:36:42 hm systemd[1]: Stopping LSB: starts the autossh...
июл 14 19:36:42 hm autossh.sh[43901]: autossh: процесс не найден
июл 14 19:36:42 hm systemd[1]: autossh.service: Succeeded.
июл 14 19:36:42 hm systemd[1]: Stopped LSB: starts the autossh.



Все больше тоннель нЕработает

root@bits:~# ssh eka@127.0.0.1 -p 26681
ssh: connect to host 127.0.0.1 port 26681: Connection refused


Файл autossh.sh можно задать  через консоль если нет нормального редактора
sudo nano /etc/init.d/autossh.sh

#!/bin/sh
### BEGIN INIT INFO
# Provides:          autossh
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the autossh
# Description:       starts the autossh
### END INIT INFO
#export AUTOSSH_DEBUG=1
export AUTOSSH_GATETIME=0

case "$1" in
    start)
    echo "start autossh"
    sudo /usr/bin/autossh -M 10984 -N -f  -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=yes" -i /home/egorka/.ssh/id_dsa -R 26681:localhost:22 root@82.1.1.9
    ;;
    stop)
    sudo killall autossh
    ;;
    restart)
    sudo killall autossh
    sudo /usr/bin/autossh -M 10984 -N -f  -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=yes" -i /home/egorka/.ssh/id_dsa -R 26681:localhost:22 root@82.1.1.9
    ;;
    *)
    echo "Usage: $0 (start|stop)"
    ;;
esac
exit 0

#Then save the file

















Gnokii для подключения телефона Nokia

Понадобилось скопировать контакты из телефона на компьютер. Программа Nokia PC suite неоступна с официального сайта, ставить  трояны желания...

тыц