Linuxで新規ユーザーとグループの追加とsshでpasswordなしでログインする方法のメモです。super userで実施します。
ローカルホスト側:
# user1でssh keyを生成した場合の例 $ ssh-keygen -t rsa Enter file in which to save the key (/home/user1/.ssh/id_rsa): Created directory '/home/user1/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user1/.ssh/id_rsa. Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
ローカルホストのid_rsaはユーザーのみ読み書きできるように権限"600"を設定。
リモートホスト側: ユーザーとグループの追加
# "group1"をgroup id 100を指定して追加 $ groupadd group1 -g 100 # "user1"をuser id 200を指定して追加 $ useradd user1 -u 200 -g group1 # groupsコマンドでユーザーの所属グループを確認 $ groups user1 user1 : group1
リモートホスト側: sshでpasswordなしでログイン設定
# .sshディレクトリ作成 $ mkdir /home/user1/.ssh # [重要] .sshディレクトリの権限を変更 # "rwx------"か"rwxr-xr-x" 数字指定だと "700" か "755" でないとダメ。 $ chmod 700 /home/user1/.ssh # ログインするホストのユーザーのid_rsa.pubをauthorized_keysに追加 # 実際はssh-rsa XXXXXXXXXXXXXXXX user1@hostのような文字列 $ echo 'ログインするユーザーのid_rsa.pubの文字列' > /home/user1/.ssh/authorized_keys # [重要] authorized_keysの権限を変更 # 少なくとも"400"でないとダメ。キーの追加も必要なので"600"が実運用上は普通の設定。 $ chmod 600 /home/user1/.ssh/authorized_keys # super userアカウントで作った場合は、sshのパスワードなしログインを設定した対象のユーザーに所有権を変更 $ chown user1:group1 -R /home/user1/.ssh/ # sshdでAllowGroupsにグループが追加されていない場合は追加 $ vi /etc/ssh/sshd_config AllowGroups ... group1 # sshdプロセスを再起動 $ service sshd restart
最後に確認
ローカルホスト側からリモートホストへsshログインを試してパスワードなしでログインできれば成功。
[user1@localhost]$ ssh user1@remotehost
コメント