Как я использую стук порта с autoSSH?

Мое текущее решение - запустить скрипт -

#! /bin/bash
while :
do
        knock myhomecomputer.com 64001 && sleep 1 && knock myhomecomputer.com 64002 && sleep 1 && knock myhomecomputer.com 64003 && sleep 1 && knock myhomecomputer.com 64004
        ssh -R 65522:localhost:22 myhomecomputer.com
done

Приведенный выше скрипт помещается в crontab как -

@reboot screen -dmS reverseSSH /home/user_me/reverse_ssh_4_myhomecomputer

Чем такой скрипт отличается от autoSSH? Какие дополнительные случаи обрабатывает autoSSH?

Идея состоит в том, чтобы запустить вышеупомянутый скрипт или autoSSH на моей лабораторной машине с помощью межсетевого экрана университета, чтобы я мог подключиться к SSH из дома. Мой домашний компьютер сталкивался с огромным количеством SSH-атак с применением грубой силы, поэтому мне пришлось поместить его за активированный брандмауэр с последовательностью стуков. Есть ли лучший способ справиться с этим?

Приведенный выше скрипт работает, и я могу подключиться к университетскому компьютеру с помощью следующей команды на моем домашнем компьютере:

ssh -p 65522 localhost

1 ответ1

0

Вот как я обошёл проблему

  1. Я отредактировал ~/.ssh/config на лабораторном компьютере, чтобы добавить следующее

    host myhomecomputer.com
        HostName myhomecomputer.com
        user user_me
        IdentityFile ~/.ssh/user_me.openSSH
    
    host myhomecomputer
        HostName myhomecomputer.com
        user user_me
        IdentityFile ~/.ssh/user_me.openSSH
        ProxyCommand bash -c 'source knock_myhomecomputer_ssh; ssh -TN -R 65522:localhost:22 myhomecomputer.com'
    

    Обратите внимание на имена - myhomecomputer (псевдоним / ярлык) и myhomecomputer.com (фактический хост).

  2. knock_myhomecomputer_ssh как -

    SLEEP_T=0.75
    knock myhomecomputer.com 64001 && sleep $SLEEP_T && knock myhomecomputer.com 64002 && sleep $SLEEP_T && knock myhomecomputer.com 64003 && sleep $SLEEP_T && knock myhomecomputer.com 64004
    
  3. Добавил следующее в мой crontab

    @reboot autossh -f myhomecomputer
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .