
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