是否可以使用 autoSSH 进行端口敲击?

是否可以使用 autoSSH 进行端口敲击?

如何使用 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 进入大学计算机 -

ssh -p 65522 localhost

答案1

这就是我解决问题的方法

  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
    

相关内容