myServer
Debian Stretch VM(Windows 7ホストのVirtualBoxで実行)からSSHを介して特定のリモートホスト(IPと呼びます12.34.56.78
)に接続したいと思います。この目的のために、私はAndroidスマートフォンをUSBモデムとして使用するのに最適です。インターネットにアクセスして「ping」およびHTTP / HTTPSトラフィックを生成し、次のコマンドを使用してSSH接続を開くこともできます。
ssh [email protected] -b a.b.c.d -p portNumber -i ~/.ssh/id_rsa
注:a.b.c.d
これは接続時にUSBインターフェースに割り当てられた動的IPアドレスです。
~/.ssh/config
作業を簡単にするために、次のように入力できるようにすべての設定を指定したいと思いますssh myServer
。
Host myServer
HostName 12.34.56.78
Port portNumber
# BindAddress a.b.c.d <== commented because this is part of the question
# BindInterface usb0 <== same as above
User httqm
IdentityFile ~/.ssh/id_rsa
- 行のコメントを外してIPアドレスを指定できます。これはうまくいきますが、動的である
BindAddress
ため、SSHコマンドライン全体と比較して何も得られません。a.b.c.d
使用バインディングインターフェースオプション(除く
BindAddress
)は、次のエラーメッセージで失敗します。~/.ssh/config: line 154: Bad configuration option: bindinterface ~/.ssh/config: terminating, 1 bad configuration options
このBindInterface
ディレクティブはOpenssh 7.7(https://www.openssh.com/releasenotes.html)そして私は持っていました:
$ dpkg -l openssh-client
openssh-client 1:7.4p1-10+deb9u6
この問題を解決するために、いくつかの解決策を検討しています。
コマンドを使用して、すべての宛先がUSBインタフェースを通過する
ip route ...
ようにパスを定義します。myServer
これまで、私は次のコマンドを試しました。ip route add to 12.34.56.78 protocol static dev usb0
コマンド自体はエラーを返しませんが、SSH接続を開くことはできず、ssh myServer
pingもできません。
12.34.56.78 と送受信するすべてのトラフィックが usb0 インターフェイスを通過するように Netfilter ルールを定義します。それはうまくいくでしょうか?このソリューションを調べる必要がありますか?
openssh-client
バックポートからのアップグレード(利用可能な場合)
何がうまくいかないのか(そしてその理由は何ですか)説明できますか?短いコマンドラインを使用してSSHホストに接続する目標をどのように達成できますか?たとえば、ssh myServer
私のソースアドレスが動的であることを考えるとどうなりますか?