※以下手順では「test」というユーザを作成する例
ユーザ名を変更する場合は、関連するディレクトリのパス(/home/testなど)も合わせて変更すること。
① ユーザー作成
useradd test
② 作成したユーザに変更
su - test
③ キーペア作成
ssh-keygen -t rsa
※デフォルトの設定で実行する場合、全て質問に対してエンター。
※コマンド実行後、「/home/test/.ssh」ディレクトリ配下に「id_rsa.pub」と「id_rsa」というファイルが作成される。
id_rsa.pub :公開鍵
id_rsa :秘密鍵
2048ビット長のキーペアが作成される。
④ 公開鍵の名称を「authorized_keys」に変更
mv /home/test/.ssh/id_rsa.pub /home/test/.ssh/authorized_keys
※「/etc/ssh/sshd_config」ファイルの中の「AuthorizedKeysFile」の中で指定されているファイル名に変更。
(通常は「.ssh/authorized_keys」がデフォルトで指定されているため、特に変更していない限りは上記設定で問題ない)
⑤ 公開鍵のパーミッションを「600」に変更
chmod 600 /home/test/.ssh/authorized_keys
⑥ 秘密鍵(id_rsa)をダウンロード
※ここでダウンロードした秘密鍵をご提供ください。
⑦ インスタンス上のssh秘密鍵は削除
rm /home/test/.ssh/id_rsa
上記⑥で受領した秘密鍵を使用してSSH接続。
- SSL更新作業においてApacheの停止・起動を伴うためroot権限が必要。
- root権限で実行する許可を追加したユーザに設定する必要がある。
ルート権限の付与/実行コマンドの制限
下記設定をすると、
例えば「sudo service httpd stop」などのように、
実行するコマンドの前に「sudo」を付与するとroot権限で実行される。
【設定方法】
root権限にて下記を実行
passwd test
※パスワードを設定。
sudoコマンドの実行にはここで設定したパスワード設定が必要。
但し、sudoコマンド実行時にパスワードを不要にする設定も可能。
visudo
(下記を追記)
test ALL=(ALL) ALL
※ここでtestユーザがroot権限で実行できる範囲について定義することが可能。
上記はroot権限で全てのコマンドを実行可能となるが、
例えば下記のように3列目にroot権限で実行したいコマンドをカンマ区切りで記載することで、
特定のコマンドのみ(下記例では「sudo service httpd start」、「sudo service httpd stop」のみ)の
root権限で実行できるように設定できます。
実行権限を絞られる場合は個別にカンマ区切りでroot権限で使用するコマンドを
すべて記載する必要がある。
test1 ALL=(ALL) /sbin/service httpd start,/sbin/service httpd stop
また、sudoコマンドで実行時にパスワードを聞かれないようにするには下記の様に「NOPASSWD:」を付加して設定してください。
test1 ALL=(ALL) NOPASSWD: /sbin/service httpd start,/sbin/service httpd stop
作業完了後、今回作成したユーザの削除およびsudo設定から「test」ユーザの記載行を削除する