はてなの金次郎

Pythonエンジニアの奮闘記。Python, Django, Gitlab, Docker, AWS, k8s...

はじめてのSSH用ユーザー追加

はじめに

SSH用のLinuxユーザの作成の作業依頼を初めて担当することになったため、その作業内容と目的についてまとめます。Linuxユーザの作成は定期的かつ頻繁に発生する作業であるためしっかりと理解しておく必要があります。

Linuxのユーザ作成

なにをするのか

なぜするのか

  • 例えば、新入社員のためのユーザ作成や新しく加わるデベロッパ用のユーザ作成など、アプリケーションやシステムの開発・運用のためには欠かせない作業です。

サーバ側

ユーザ追加

$ useradd -m username
$ passwd username

ランダムなパスワードを設定し、後で本人に設定し直してもらう

権限変更

$ cd /home/username
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

sudo権限付与

$ gpasswd -a username sudo

所有権の確認

$ ls -la /home/username/.ssh
$ ls -la /home/username/.ssh/authorized_keys

所有者 username 、グループ group であることを確認する。
所有者、グループが異なっていた場合は正しく設定し直す。

$ chown username:group .ssh
$ chown username:group .ssh/authorized_keys

クライアント側

鍵の作成

$ cd ~
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t rsa

configファイルの作成

~/.ssh/config

## 踏み台サーバ
Host <<Domain>>
     User <<username>>
     Hostname <<IP Adress>>

## 接続先サーバ
Host <<Domain>>
     User <<username>>
     Hostname <<IP Adress>>
     ProxyCommand ssh <<踏み台サーバのDomain>> nc %h %p

tech.recruit-mp.co.jp

公開鍵の登録

$ vi ~/.ssh/authorized_keys

authorized_keys に公開鍵をペーストする。

サーバ接続確認

$ ssh-add ~/.ssh/id_rsa
$ ssh -A app1.production-jp.gu-mania.vpc

参考記事

eng-entrance.com

eng-entrance.com