※ パクレゼルヴではWeb開発エンジニアを大募集中!詳細はこちら
Home > Tips, ssh > ProxyCommandを使った踏み台サーバー経由のssh接続

ProxyCommandを使った踏み台サーバー経由のssh接続

2009/3/1 日曜日 2:54:29

MacやLinuxなど、sshクライアントにsshコマンドを使っている方のためのお話

夜間や休日で緊急事態のときは家からリモートメンテナンスを行うことがあるかと思います。
その際に、インターネットからサービスを行っているサーバーに直接sshでログインできるようにしておくのは不安がありますので、社内の特定のサーバーからのみ許可するようになっていることがあります。

この様な運用形態の場合、一度社内のサーバーにログインして、それから再度 sshコマンドで対象となるサーバにログインすることになり、一手間増えてしまいます。
できればワンステップでログインしたいところです。

sshコマンドにオプションをつけることで、ワンラインでログインできます。

ssh -o 'ProxyCommand ssh ユーザ名@中継サーバー nc %h %p' ユーザ名@ターゲットサーバー

これで一度にログインできるのですが、ProxyCommandと毎回入力するのは面倒なので、できれば更に短くしたいところです。

ローカルの ~/.ssh/config に以下のように記述しておくことで一度にログインできるようになります。

Host ターゲットサーバー
ProxyCommand ssh ユーザ名@中継サーバー nc %h %p

ターゲットサーバー名はワイルドカードが使えますので、*.xxxx.jpのような指定が可能です。

これで、

ssh ユーザ名@ターゲットサーバー

だけでログインできるようになります。

MacでSFTPおよびSCPクライアントを使用する場合は、Fuguを使用すると、~/.ssh/configに記述した内容を解釈し接続してくれます。
現時点ではCyberduckは中継をサポートしていませんので、Fuguを使用するとよいでしょう。

マカー Tips, ssh

  1. No comments yet.
  1. No trackbacks yet.