で昔のやり方をメモしていたが、最近は、やり方が変わったのでメモがてら共有。変更点の特徴は
- 公開鍵認証にした
- パスワードは空で渡す(自分でpasswdコマンドで設定してもらう)
という感じです。
# アカウント名"taro.yamada"で作成する
$ sudo useradd -m -s /bin/bash -p "" taro.yamada
# .sshディレクトリを設定する。オーナー・グループ・パーミッションも変更
$ sudo mkdir /home/taro.yamada/.ssh
$ sudo chown taro.yamada:taro.yamada /home/taro.yamada/.ssh
$ sudo chmod 700 /home/taro.yamada/.ssh
# 公開鍵を登録する。nanoエディタが開くので、所定のもの(例えばgithub.keys)をコピペ
$ sudo nano /home/taro.yamada/.ssh/authorized_keys
# 公開鍵のオーナー・グループ・パーミッション変更
$ sudo chown taro.yamada:taro.yamada /home/taro.yamada/.ssh/authorized_keys
$ sudo chmod 600 /home/taro.yamada/.ssh/authorized_keys
# あとは登録した公開鍵で接続できるはず
# おまけ。sudoグループに入れてsudo実行権限を渡す
$ sudo gpasswd -a taro.yamada sudo
手打ちは面倒なので
#!/bin/bash
# Usage: $ sudo bash adduser.bash taro.yamada
USER=${1}
sudo useradd -m -s /bin/bash -p "" ${USER}
sudo mkdir /home/${USER}/.ssh
sudo chown ${USER}:${USER} /home/${USER}/.ssh
sudo chmod 700 /home/${USER}/.ssh
sudo nano /home/${USER}/.ssh/authorized_keys
sudo chown ${USER}:${USER} /home/${USER}/.ssh/authorized_keys
sudo chmod 600 /home/${USER}/.ssh/authorized_keys
sudo gpasswd -a ${USER} sudo
というようにadduser.bashとかに保存して使うと良いかも