Pocket

Linux同士でSSHによるパスフレーズなしログイン

  • add this entry to hatena bookmark

LinuxからLinuxへ、SSHを用いて、パスフレーズの入力を行わないでログインする為の設定を行いましたので、記録しておきます。

1.導入環境

SSH接続元はCentOS6(アカウント:root)、SSH接続先はAWS EC2(アカウント:ec2user)になります。

SSH接続元にSSHクライアントが入っていなかったので、インストールしました。

# rpm -qa | grep ssh
openssh-server-5.3p1-70.el6_2.2.x86_64
openssh-5.3p1-70.el6_2.2.x86_64
libssh2-1.2.2-7.el6_1.1.x86_64
# yum info openssh-clients
(省略)
Available Packages
Name        : openssh-clients
Arch        : x86_64
Version     : 5.3p1
(省略)
# yum install openssh-clients

以上で、パッケージ環境の準備は整いました。

2.SSH接続元でキーペアの作成

SSH接続元で、「ssh-keygen」コマンドで秘密鍵と公開鍵のペアを作成します。なお、この際にパスフレーズは設定しない事がポイントになります。

# which ssh-keygen
/usr/bin/ssh-keygen
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):(何も入力しないでEnter)
Enter same passphrase again:(何も入力しないでEnter)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
(省略)
+--[ RSA 2048]----+
(省略)
+-----------------+
#

以上で、秘密鍵「id_rsa」と、公開鍵「id_rsa.pub」が作成できました。

3.SSH接続先のsshd_configを修正

SSH接続先の「/etc/ssh/sshd_config」で、以下の値を有効にしておきます。

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

設定値を変更した後は、sshdを再起動しておきます。

4.SSH接続先のアカウントのauthorized_keysに公開鍵をコピー

SSH接続元で作成した公開鍵「id_rsa.pub」の内容を、SSH接続先アカウントの「authorized_keys」ファイルにコピーします。

以上で設定は終了になります。

5.SSH接続確認

SSH接続元からSSH接続先にパスフレーズなしでログインしてみます。

# ssh ec2user@(aws ec2アドレス)
(省略)

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

(省略)
Amazon Linux version 2012.09 is available.
$

無事、パスフレーズなしでログインできました。
ついでに、scpコマンドでも、パスフレーズなしでコピーできる事も確認できました。

# scp (バックアップ対象) ec2user@(aws ec2アドレス):(バックアップ先ディレクトリ)
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。