概要
EC2でユーザーを登録する処理とローカルでsshのエイリアスを作成する方法をまとめます。
久しぶりにサーバー立てるとつい手順を忘れちゃいますね。
ゴール
1,ユーザーを作成する。
2,作成したユーザーに対して、(ローカルで) ssh <<任意の名前>>
と打てばssh接続することができる。
手順
1,EC2にログインする。
$ ssh -i hogehoge.pem ec2-user@52.222.222.222 // Elastic IPにssh接続
2,ユーザーを作成して、コマンドの実行権限を付与(ルートユーザーの作成)
// ユーザーを作成する 今回はtaroというユーザーを作成する。
$ sudo adduser taro
// ユーザーのパスワードを設定
$ sudo passwd taro
→パスワードを聞かれるので入力
// すべてのコマンドの権限を付与する
$ sudo visudo
→開いたら、 「root ALL=(ALL) ALL」 と記載してある場所を探し、
その下に 「taro ALL=(ALL) ALL」 を追加
3,ユーザーにsshの公開鍵を追加し、(ローカルで) ssh <<任意の名前>>
と打てばssh接続することができるようにする。
// ユーザーを切り替える
$ sudo su - taro
//認証情報をユーザー配下に追加
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vim authorized_keys
→ファイルを開いたら公開鍵(id_rsa.pub的なやつ)の内容をペースト、作成方法は下に記載。
$ chmod 600 authorized_keys
これにてサーバー側完了。
この状態でも鍵は登録してあるので該当ユーザーでSSH接続は可能だが、
コマンドを短縮化して直感で扱えるようにローカルでエイリアスを作成する。
4,ユーザー側でエイリアスを作成する。
$ cd .ssh
$ vim config
→ファイルを開いたら以下の内容を追加
/*********************
Host <<任意の名前>>
Hostname 52.222.222.222 // インスタンスのElastic IP
Port 22
User taro // サーバーで鍵を持つユーザー
IdentityFile ~/.ssh/id_rsa // サーバーに登録した鍵とペアになる秘密鍵
*************************/
これで、ローカルで ssh <<任意の名前>>と打てば、接続できるはずです。
補足
公開鍵と秘密鍵の作りかた。
$ cd ~/.ssh
$ ssh-keygen -t rsa
これで作成されるもののうち、拡張子が.pubの方が公開鍵で、pubがない方が秘密鍵です。
例: id_rsa(秘密鍵) , id_rsa.pub(公開鍵)