是否可以將連接埠碰撞與 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
    

相關內容