複数サーバー間でSSH鍵を交換する

2011年7月7日(木)
sanonosa

SSH鍵を交換するとできること

SSH鍵の交換が完了したらいろいろ試してみましょう。SSH鍵の交換することでできることは、1ページ目で記したようにパスワード入力なしでのログイン、ファイルコピー、リモートホストでコマンド実行などがあります。

[リモートホストにログイン]

SSH鍵認証を設定しておくことでパスワードを入力せずとも相手のホストに接続できるようになります。

$ ssh user@host2

[リモートホスト間でファイルコピー]

ファイルコピー時もパスワードを入力せずとも相手のホストにファイル送受信できるようになります。まるで同じマシン内でファイルを送受信している感覚です。

$ scp file.txt user@host2:/home/user/

[リモートホストでコマンド実行]

SSH鍵を交換しておくと、パスワードを入力せずともリモートホスト上でコマンドが実行できるようになります。さらにコマンド実行後の標準出力を取得して表示することもできます。この機能をうまく活用することで複数台のサーバーをまたいだシェルスクリプトを自由自在に組むことができるようになります。

$ ssh user@host2 "ls -l /usr/"
合計 152
drwxr-xr-x  3 root root  4096  7月  2  2010 X11R6
drwxr-xr-x  2 root root 20480  3月 21 04:02 bin
drwxr-xr-x  2 root root  4096  1月 27  2010 etc
drwxr-xr-x  2 root root  4096  1月 27  2010 games
drwxr-xr-x 52 root root  4096  3月 20 10:26 include
drwxr-xr-x  6 root root  4096 12月  1  2010 kerberos
drwxr-xr-x 33 root root 12288  3月 21 04:02 lib
drwxr-xr-x 45 root root 20480  3月 21 04:02 lib64
drwxr-xr-x  7 root root  4096  3月 21 04:02 libexec
drwxr-xr-x 12 root root  4096  1月 27  2010 local
drwxr-xr-x  2 root root 12288  3月 21 04:02 sbin
drwxr-xr-x 75 root root  4096 10月 14  2010 share
drwxr-xr-x  4 root root  4096  7月 28  2010 src
drwxrwxrwx  1 root root    10  7月 28  2010 tmp

もし、SSH鍵交換をしていない環境でサーバー間をまたいだスクリプトを作成して実行したとすると、言うまでもなくスクリプト内で他サーバー向けのコマンドが実行される度にパスワード入力が求められるようになるため、利便性の低いスクリプトとなることでしょう。

最後に

今回は連載初回ということで、複数サーバー間での鍵交換方法についてのみご紹介しました。次回以降は今回の設定をベースに様々な応用例をご紹介していきたいと思います。

国内某有名ITベンチャー企業に創業メンバーとして携わる。国内最大規模のシステムを構築運用してきたほか、社内情報システム導入のプロジェクトマネジメント、韓国の交友関係が豊富なことから韓国関連で多数のシステムインテグレーションなども行ってきた。前職は富士通株式会社でSE。
個人blog:http://nosa.cocolog-nifty.com/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています