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でリモートログイン時にパスワードを求められないようになっています。