VPSサービスを複数台構成で使う 1

SSH鍵認証の概要

SSH鍵認証の概要

それでは連携するサーバー間で実際にSSH鍵を交換してみましょう。

今回、他のサーバーにログインしようとするサーバーを「host1」、ログインされるサーバーを「host2」、対象ユーザーを「user」とします。

また各サーバーにて/etc/hostsファイルがそれぞれ以下の要領で記載されていると仮定します。

10.0.0.101	host1
10.0.0.102	host2

それからhost2で以下についても実行しておいてください。

$ mkdir -m 700 /home/user/.ssh

host1側の作業

まずは秘密鍵と公開鍵を生成します。

$ su - user
$ ssh-keygen -t rsa
(以下設問には取りあえず全てEnterしてください)

すると、秘密鍵(id_rsa)と公開鍵(id.rsa.pub)が生成されるので、「host2」に公開鍵(id_rsa.pub)だけをコピーします。

$ scp /home/user/.ssh/id_rsa.pub user@host2:/home/user/.ssh/id_rsa.pub_host1

user@host2's password: xxxxxxxx

host2側の作業

host1からコピーされてきた公開鍵を「authorized_keys」というファイルに追加します。

$ su - user
$ cd .ssh
$ cat id_rsa.pub_host1 >> authorized_keys
$ chmod 600 authorized_keys

すると、host1からhost2にパスワードなしでSSH接続できるようになります。

[user@host1 ~] $ ssh host2
Last login: Sat Oct 23 00:42:19 2010 from host1

[user@host2 ~] $

 

図2:鍵の配置

ただ、上記のような設定方法は大変手間がかかるため、連携するサーバー台数が増えれば増えるほどいちいち手作業で設定していくのが困難になります。そういった場合は「host1」上で以下の手順を行うことで、公開鍵を配布していくことも可能です。

$ ssh user@host2 "echo 'ssh-rsa ABCDB3NzaC5yc2EAAAABIwAAAIEA0AIDjalANyx09R5Ko
WCBRheartsNMNmli95CBQ1eBhzZGEQRdHqyS4I9v/5qgKMsrgruhNMBlGUUrop19ALwodHB852vWvAZ
G3gReu2c3CbP9qGlA0mTG7nYUCWU0ggFwq1b+HAA5wF/BqkSvWXlTe+9G0/8nmgqZMzKr81fL2u8
= user@host1' >> /home/user/.ssh/authorized_keys"
user@host2's password: xxxxxxxx

$ ssh user@host2 "chmod 600 /home/user/.ssh/authorized_keys"
user@host2's password: xxxxxxxx
この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る