Debian Stretch VM (Windows 7 ホストの VirtualBox で実行) で、特定のリモート ホスト ( myServer
IP を持つ と呼びます12.34.56.78
) に SSH 経由で接続したいと思います。そのために、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
BindAddress
行のコメントを解除してIPアドレスを指定することはできますが、これa.b.c.d
は動的であるため、完全なSSHコマンドラインと比較して利点はありません。使用してバインドインターフェースオプション (なし
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
これを回避するために、いくつかの解決策を検討しています。
コマンドを使用してルートを定義し
ip route ...
、対象となるすべてのものが USB インターフェイスを通過するように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 myServer
ソース アドレスが動的であることを考慮して、短いコマンド ラインで SSH ホストに接続するという目標を達成するには、どのような方法をお勧めしますか?