ブログ

sshでパスワード入力なしでArmadilloにログインする

at_nakai
2014年7月2日 11時47分

sshを利用してArmadilloにリモートログインする場合に、 通常はパスワード入力を要求されます。煩わしいですね。
ここではArmadillo-840を例に、パスワード入力なしでログインさせる方法を紹介します。

ステップ1. ArmadilloでSSHサーバーを起動

★Armadillo: 鍵を作成
[root@armadillo840-0 (ttySC2) ~]# /etc/init.d/sshd keygen
generate rsa1 key ...done
generate dsa key ...done
generate rsa key ...done
※ /etc/init.d/sshd keygen 後は、自動的にコンフィグ領域が保存されるようになっています

★Armadillo: sshdを起動
[root@armadillo840-0 (ttySC2) ~]# /etc/init.d/sshd restart
Starting sshd: done

ステップ2: ATDEの公開鍵を作成してArmadilloに転送

★ATDE: 秘密鍵と公開鍵を作成
atmark@atde5:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/atmark/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/atmark/.ssh/id_rsa.
Your public key has been saved in /home/atmark/.ssh/id_rsa.pub.
        :
atmark@atde5:~$ ls ~/.ssh
id_rsa  id_rsa.pub

★ATDE: SSHの認証エージェントに秘密鍵を登録
atmark@atde5:~/.ssh$ ssh-add id_rsa
Identity added: id_rsa (id_rsa)

★ATDE: Armadilloに公開鍵を転送 (ここではsftpを利用)
atmark@atde5:~$ sftp root@192.168.11.127
root@192.168.11.127's password: 
Connected to 192.168.11.127.
sftp> put .ssh/id_rsa.pub
Uploading .ssh/id_rsa.pub to /root/id_rsa.pub
.ssh/id_rsa.pub                               100%  394     0.4KB/s   00:00    
sftp> quit

小休止: まずは接続確認

★Armadillo: 認証済み鍵リストを作成
[root@armadillo840-0 (ttySC2) ~]# mkdir -p ~/.ssh
[root@armadillo840-0 (ttySC2) ~]# touch ~/.ssh/authorized_keys
[root@armadillo840-0 (ttySC2) ~]# chmod 600 /root/.ssh/authorized_keys
[root@armadillo840-0 (ttySC2) ~]# cat id_rsa.pub >> ~/.ssh/authorized_keys
★ATDE: sshでArmadilloにログイン
atmark@atde5:~$ ssh root@192.168.11.127
[root@armadillo840-0 (pts/0) ~]#

パスワード入力なしでログインできましたね。

ステップ3. Armadillo起動時に自動的にauthorized_keysを作成するように設定

コンフィグ領域にATDEの公開鍵を保存しておき、 起動時に/root/.ssh/authorized_keysを自動的に作成するように/etc/config/rc.localを設定します。

★Armadillo: rc.localを設定して鍵と一緒にコンフィグ領域に保存
[root@armadillo840-0 (ttySC2) ~]# mv id_rsa.pub /etc/config/atde5_rsa.pub
[root@armadillo840-0 (ttySC2) ~]# vi /etc/config/rc.local
※ファイル末尾などに以下を追記
mkdir -p /root/.ssh
touch /root/.ssh/authorized_keys                           
chmod 600 /root/.ssh/authorized_keys                       
cat /etc/config/atde5_rsa.pub >> /root/.ssh/authorized_keys
[root@armadillo840-0 (ttySC2) ~]# flatfsd -s

再起動するとsshでリモートログイン時にパスワードを求められないようになっています。