
如何將連接埠碰撞與 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
這就是我解決問題的方法
我
~/.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
(實際主機)。這
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
將以下內容添加到我的
crontab
@reboot autossh -f myhomecomputer