Linux -> サーバ構築 -> SSH

公開鍵認証方式によるSSHログイン設定

SSHを使用してのリモートシェル環境を構築する。

SSH通信でのメリット

  ・SSHを使用すると、暗号化通信により高いセキュリティが確保できる。   ・パスワード入力せずにログインが可能となる。

手順

キーペアの作成

ここでは、ホスト1を oracle01 ホスト2を oracle02 とし
各ホストでキーペア(秘密鍵・公開鍵)を作成する。

キーペアの作成

ホスト oracle01 でキーペアを作成
	RSAキーペアを作成
oracle01$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/opt/oracle/.ssh/id_rsa):
Created directory '/opt/oracle/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /opt/oracle/.ssh/id_rsa.
Your public key has been saved in /opt/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
fe:8f:dd:1f:2c:5d:2d:57:e0:5d:52:84:17:e2:bd:20 oracle@oracle01


	RSAキーペアを作成
oracle01$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/opt/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /opt/oracle/.ssh/id_dsa.
Your public key has been saved in /opt/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
ca:16:92:66:c1:45:b1:12:42:04:01:52:e2:7f:df:5c oracle@oracle01


	作成したキーペアを確認
oracle01$ ls -l .ssh
-rw-------  1 oracle oinstall 668  6月  7 16:42 id_dsa
-rw-r--r--  1 oracle oinstall 605  6月  7 16:42 id_dsa.pub
-rw-------  1 oracle oinstall 887  6月  7 16:41 id_rsa
-rw-r--r--  1 oracle oinstall 225  6月  7 16:41 id_rsa.pub
oracle01$


ホスト oracle02 でも同じ事をする。作成後のキーペアを確認

 ※ 途中 oracle01 と同じの為省略

oracle02$ ls -l .ssh
-rw-------  1 oracle oinstall 668  6月  7 16:45 id_dsa
-rw-r--r--  1 oracle oinstall 605  6月  7 16:45 id_dsa.pub
-rw-------  1 oracle oinstall 887  6月  7 16:45 id_rsa
-rw-r--r--  1 oracle oinstall 225  6月  7 16:45 id_rsa.pub
oracle02$


パブリックキー(公開鍵) id_rsa.pub , id_dsa.pub を 互いのサーバにコピーする。
まず oracle01 で2つの公開鍵を authorized_keys というファイルに格納する。

oracle01$ cat id_rsa.pub  > authorized_keys
oracle01$ cat id_dsa.pub >> authorized_keys


このファイルを oracle02 側へ持っていき、
oracle02 で 2つの公開鍵を oracle01から持ってきた authorized_keys ファイルに追記する

oracle02$ cat id_rsa.pub >> authorized_keys
oracle02$ cat id_dsa.pub >> authorized_keys

そして oracle01 と oracle02 の公開鍵情報を oracle01 へ持っていく
oracle01 と oracle02 には それぞれの公開鍵情報が
 ~./ssh/authorized_keys ファイルに格納された状態となる

Solarisの場合以下の修正が必要

 /etc/ssh/sshd_config

   PermitRootLogin yes

動作確認

公開鍵の設定が終了したところで認証確認を行う。
確認

oracle01 から oracle02 へ ssh で接続する。確認プロンプトで "yes"を入力

oracle01$
oracle01$ ssh oracle02
The authenticity of host 'oracle02 (192.168.100.102)' can't be established.
RSA key fingerprint is 33:ec:a0:f4:15:25:0e:e8:b2:69:58:a6:54:e2:5d:4b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'oracle02,192.168.100.102' (RSA) to the list of known hosts.
Last login: Mon Jun  4 13:25:02 2007 from oracle01
[oracle@oracle02 ~]$

2回目以降は確認なしでログイン可能

oracle01$
oracle01$ ssh oracle02
Last login: Thu Jun  7 16:56:40 2007 from oracle01
[oracle@oracle02 ~]$


oracle02 から oracle01 へ ssh で接続する。確認プロンプトで "yes"を入力

oracle02$ ssh oracle01
The authenticity of host 'oracle01 (192.168.100.101)' can't be established.
RSA key fingerprint is 33:ec:a0:f4:15:25:0e:e8:b2:69:58:a6:54:e2:5d:4b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'oracle01,192.168.100.101' (RSA) to the list of known hosts.
Last login: Mon Jun  4 14:13:48 2007 from oracle01
[oracle@oracle01 ~]$


2回目以降は確認なしでログイン可能

oracle02$ ssh oracle01
Last login: Thu Jun  7 16:57:46 2007 from oracle02
[oracle@oracle01 ~]$

鍵をメモリーにロード


oracle01$ ssh-agent $SHELL
oracle01$
oracle01$ ssh-add
Identity added: /opt/oracle/.ssh/id_rsa (/opt/oracle/.ssh/id_rsa)
Identity added: /opt/oracle/.ssh/id_dsa (/opt/oracle/.ssh/id_dsa)
oracle01$

 oracle02 でも同じ事をする。


※ ログインできない場合考えられる項目 (permission denied hostbased)
・ホームディレクトリの所有者が本人でない
・アクセス権限が正しく設定されていない
      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google