環境
*OS : ubuntu16.04
rootのパスワード設定
rootのパスワードに設定したい文字列を入力
# sudo passwd root
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
ユーザの作成にはuseradd
とadduser
があるが、ホームディレクトリも一緒に作成できるなど利点が多いと感じたので今回はadduser
にしよう。 ということで以下のコマンドを実行
# adduser ユーザ名
ユーザー `ユーザ名' を追加しています...
新しいグループ `ユーザー名' (1001) を追加しています...
新しいユーザー `ユーザ名' (1001) をグループ `miyagi' に追加しています...
ホームディレクトリ `/home/ユーザ名' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください: #設定したいパスワード入力
新しい UNIX パスワードを再入力してください: #再度パスワード入力
passwd: パスワードは正しく更新されました
miyagi のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
フルネーム []: #特になければエンター
部屋番号 []: #特になければエンター
職場電話番号 []: #特になければエンター
自宅電話番号 []: #特になければエンター
その他 []: #特になければエンター
以上で正しいですか? [Y/n] y ←yを入力
sudoグループへの追加
sudoグループとはスーパーユーザ権限でコマンドを実行することができる。 セキュリティ上rootのパスワードを教えたくないがroot権限が必要な場合が想定されるためsudoに追加しておく
# gpasswd -a ユーザ名 sudo
ユーザ ユーザ名 をグループ sudo に追加
*sshポート変更&rootログインの禁止
# vi /etc/ssh/sshd_config
↓5行目あたり
Port 22 ←22を適当なポート番号に割り当てる
↓28行目あたり
PermitRootLogin no ←yesをnoに変更
# systemctl restart ssh
↓設定されているか確認
# systemctl status ssh
Server listening on 0.0.0.0 port ←自分が指定したポート番号があれば成功
鍵認証(ホスト側の操作)
ホスト端末(Mac)にて鍵を作成
$ ssh-keygen -t rsa
できた鍵をゲストOS(ubuntu)に送る
$ scp -P [設定したポート番号] /Users/ユーザ名/.ssh/authorized_keys ユーザ名@ゲスト(ubuntu)のIPアドレス:~/.ssh/authorized_key
鍵認証(ゲスト側の操作)
$ cd ~/.ssh/
/.ssh$ ls
authorized_key
$ chmod 600 authorized_key
$ chmod 700 ~/.ssh
sshによるパスワードログインを拒否
$ sudo vi /etc/ssh/sshd_config
↓49行目あたり
ChallengeResponseAuthentication no ←noに設定
↓52行目あたり
PasswordAuthentication no ←noに設定
$ sudo systemctl restart ssh
ざっとやって見た。 もっと必要な設定があれば教えてください🙏