IAMuserを作成した前提したで記載してまいります。
その後の設定を追記してまいります。
osを選択後に以下の設定が面画
AWSのEC2を構築
ssh port 22 myip を選択
http port 80 カスタム を選択
https port 443 カスタム を選択
#ダウンロードフォルダからsshフォルダに鍵を持っていきますが、既にあれば大丈夫です。
mkdir .ssh
chmod 700 .ssh
その後.sshフォルダへ移動させる。
mv /Users/ユーザ名/秘密鍵名.pem .ssh/
#権限指定
chmod 400 ~/.ssh/秘密鍵名.pem
ssh -i ~/.ssh/秘密鍵名.pem ユーザ名@パブリックDNS
でログインします。
sudo yum update -y
#以下のコマンドを実行してyum-cronをインストールし、パッケージの自動更新を設定します。
sudo yum install yum-cron -y
#有効化確認
sudo chkconfig --list yum-cron
#有効化
sudo chkconfig yum-cron on
#自動更新設定
sudo sed -i "s/^apply_updates.*$/apply_updates = yes/g" /etc/yum/yum-cron.conf
#起動
sudo service yum-cron start
#起動確認
sudo service yum-cron status
#現在の設定確認
date
#ローカルタイムを【Japan】に変更
sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime
#ハードウェアクロックを【Japan】に変更
sudo sed -i "s/\"UTC\"/\"Japan\"/g" /etc/sysconfig/clock
#システム再起動
sudo reboot
#現在の設定確認
date
#文字コードを日本語に変更(以下のコマンドを実行して文字コードを日本語対応に変更します。)文字コードを日本語に変更
sudo sed -i "s/en_US\.UTF-8/ja_JP\.UTF-8/g" /etc/sysconfig/i18n
#ログインユーザーを作成
sudo useradd user
sudo passwd user
sudo usermod -aG wheel user
#sudo権限の変更
以下のコマンドを実行してsudoersファイルを安全に編集します。
#sudoersファイルの編集
sudo visudo
#作成したnewuserグループをsudoコマンドがパスワード無しで実行できるように追記します。
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
+ %newuser ALL=(ALL) NOPASSWD: ALL
編集の蔡はi
編集後はesc
:wq!
で終了してください。
#ユーザーアカウント切り替え
#以下のコマンドを実行してnewuserへ切り替えます。
sudo su - newuser
#newuserのホームディレクトリに.sshディレクトリを作成
mkdir .ssh
#ファイルパーミッションを700(所有者のみ、読み取り、書き込み、削除が可能)に変更
chmod 700 .ssh
#authorized_keysを作成
touch .ssh/authorized_keys
#ファイルパーミッションを600(所有者のみ、読み取りおよび書き込みが可能)に変更
chmod 600 .ssh/authorized_keys
パブリックキーをコンピュータから取得
ssh-keygen -t rsa
#ファイルのパスを指定しますが、特にこだわりがなければエンター連打で問題ないです。
(割愛します)
#.ssh/authorized_keysを作成し追記その後、その公開鍵の情報を削除
touch .ssh/authorized_keys
#.ssh
mv id_rsa.pub .ssh/
cat id_rsa.pub >> authorized_keys
rm -rf id_rsa.pub
#既にある場合は.ssh/authorized_keysが存在する場合は、以下でいいです
cat id_rsa.pub >> authorized_keys
もしくは
cat id_rsa.pub
の中身をviエディタとかで
編集[iコマンド]
編集後は[esc]
:wq!
rm id_rsa.pub
sudo systemctl
#authorized_keysファイルとid_rsaのパーミッションは 0600 に変更。
ケースにもよりますが、一般的には600がいいかなと。
chmod 600 authorized_keys
chmod 600 id_rsa
ssh -l [ユーザ名] -i [秘密鍵のパス] [サーバホスト名もしくはAWSのグローバルIP]
#疎通確認ができたら、デフォルトユーザーを削除します。
sudo userdel -r ec2-user
ssh -l [ユーザ名] -i [秘密鍵のパス] [サーバホスト名もしくはAWSのグローバルIP]
→いちいち打つのが面倒だなと思ったらbash化することを推奨します。
./login.sh
みたいに
※これは.sshがない前提で記載しております。
またLinuxのterminalで記述した内容です。
AWSの場合、パブリックIPのアドレスが変更される仕様であるため、エラスティックIPの設定も必要になります。
teratermでVPS等でログインする場合は、IPアドレスは変更されることがないため、ユーザー名と鍵のパスフレーズを入力し、秘密鍵を選択してログインすることになります。
以上です。