TIM Labs

himuka_kenによるエントリー一覧

先日、OpenSSH 7.3 がリリースされましたが、

http://www.openssh.com/txt/release-7.3

新しい機能として、ProxyJump設定パラメータと、これに対応する「-J」コマンドラインオプションが加わっています。


以前の記事(OpenSSH のNetcat modeを使う)でも書きましたが、netcat モードができたから、ncとかconnect 使わなくても踏み台越えが楽になりましたが、さらに記述が簡素化されました。

使い方はこうです。

ssh -J user@fumidai user@innerhost

複数台踏み台ホストを経由する場合には、

ssh -J user@fumidai01,user2@fumidai02 user@innerhost

と複数の踏み台ホストをカンマ区切りで記載すれば、複数の踏み台を経由したホストにも簡単に接続することが可能です。


ssh_config に記述する場合には、

Host *.hogehoge.ugauga
          ProxyJump user@fumidai01,user2@fumidai02

と記載しておけばOKです。

すでに、各OSでは7.3パッケージをリリースしているようですので、使ってみた下さい。
コミッターはきっとロシア人とか...後で調べておきます(苦笑)

TIM Labsの言い出しっぺなのに、まるで記事を書いていなかったhimuka_kenです。
ネタはヘビーな話題から、夜のおかずまで...あるんですが、なかなか書く時間がありません。
(サボっていると言われたらその通りですが、何か?)

さて、メモをしとかないと忘れてしまいそうなのと、割りと社内でも知られていない?ので
記事として残しておきます。

OpenSSH の manを、ある日しげしげと眺めていると、

-W host:port
         Requests that standard input and output on the client be for-
         warded to host on port over the secure channel.

なんじゃこりゃ?と調べてみると、OpenSSH 5.4から実質netcat の機能を取り込んだ様です。

今までは、踏み台等の特定のホスト経由で多段でログインを行う場合には、

ssh -o 'ProxyCommand ssh user@fumidai nc %h %p' user@innerhost

としたり、一旦踏み台に対して、ssh -D 1080 fumidai で別にログインしsocks prxoyをたて、

ssh -o 'ProxyCommand connect -S localhost:1080 -5 %h %p' user@innerhost

とsocks経由でつないでしまうという手を使っていました。
(socksが使えるため、ブラウザでの確認、管理WEBへの接続、もろもろsocks経由で通信させる怪しいロシア製windows用ソフトとかw を使うために私はもっぱらこっちを使っています。踏み台にずらずらと、ncのプロセスが大量にいるという状況もなくなりますしね。)

前者は、踏み台にncがインストールされていないと使えませんし、後者は別に-Dでログインしておき、またconnectをインストールしておく必要があります。

ところが、この Netcat modeを使うと、

ssh -o 'ProxyCommand ssh user@fumidai -W %h:%p' user@innerhost

と、sshだけで済み、また手元のOpenSSHが5.4以上であれば、踏み台のsshのバージョンは問いません。
こりゃ便利というわけで、手元の5.4以上の環境では、~/.ssh/configへ

Host *.hogehoge.ugauga
        ProxyCommand ssh user@fumidai -W %h:%p

と書き換えて運用しています。

しかし、-Dというこの手のオプション(個人的には、このオプションが入ったときに、最初に頭に浮かんだのは....やばい。こりゃなんでもやり放題...という言葉でした。)を始め、なんだかアングラ感というかクラッキング臭が漂うオプションがどんどん入って来ますね。
某大手ネット企業では、プライベートネットワーク内でのオペレーションは、セキュリティの為にsshを逆に使用禁止にしているというのを聞いて、まあその気持ちはわからんでもないと思った次第です。

機会を見て、どう適切にsshを運用すれば良いのか、書きたいと思います。

このアーカイブについて

このページには、himuka_kenが最近書いたブログ記事が含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。