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