インスタンスを立ち上げて外からSSHで繋ぐまで

Linux Tech

AWSでEC2インスタンスを建てて一番最初にやることと言えば、SSH用のユーザーを作るところかな、と思います。visudoでNOPASSWDにするとか色々ツッコミところはあるかと思いますが。

これ、よくやるのに忘れるので健忘ログを兼ねて。

リモート側

Cent OS, Amazon Linux系の場合

ssh ec2-user@~ -i ~.pem

sudo yum update -y

Ubuntu の場合

ssh ubuntu@~ -i ~.pem

sudo apt update -y

ローカルタイムの変更

# ローカルタイムを【Japan】に変更
sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

ユーザーの追加

sudo adduser nasayama

sudo visudo

Cent OS, Amazon Linuxの場合

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
+ nasayama      ALL=(ALL)       NOPASSWD: ALL

Ubuntuの場合

visudoがnanoで開かれてしまう場合がある

sudo update-alternatives --set editor /usr/bin/vim.basic
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
nasayama ALL=(ALL:ALL) ALL

接続キー設定

# newuserのホームディレクトリに.sshディレクトリを作成
mkdir .ssh

# ファイルパーミッションを700(所有者のみ、読み取り、書き込み、削除が可能)に変更
chmod 700 .ssh

# authorized_keysを作成
touch .ssh/authorized_keys

# ファイルパーミッションを600(所有者のみ、読み取りおよび書き込みが可能)に変更
chmod 600 .ssh/authorized_keys

vim .ssh/authorized_keys

ローカル側

cat id_rsa.pub >> pbcopy

# リモート側のauthorized_keysに貼り付けて :wq もしくは ZZ

ssh nasayama@~ -i id_rsa