今回は、VMware Photon Linux への SSH でのアクセスについてです。
「Photon Full OS (All) 」でインストールした Photon に SSH してみます。
Photon では、デフォルトで SSH(sshd) が有効化されていますが、
root ユーザでのログインは禁止されています。
root [ ~ ]# cat /etc/photon-release
VMware Photon Linux 1.0 TP1
root [ ~ ]# systemctl status sshd.service | grep Active
Active: active (running) since Wed 2015-05-27 14:03:58 UTC; 36min ago
そこで、次のような方法で SSH ログインできるようにしてみます。
- A: root ではない一般ユーザを作成する。
- B: root での SSH ログインを許可する。
A: root ではない一般ユーザを作成する。
今回は、「gowatana」というユーザを作成しています。
また、作成したユーザで docker コマンドを実行できるように
「docker」グループを作成してユーザを所属させています。
デフォルトだと UID/GID を指定しない場合は 1000 番から採番されますが、
今回はすでに他のユーザ / グループを作成していたので 1001 番になっています。
root [ ~ ]# groupadd docker
root [ ~ ]# useradd -m -g docker gowatana
root [ ~ ]# passwd gowatana
Changing password for gowatana
Enter the new password (minimum of 5 characters)
Please use a combination of upper and lower case letters and numbers.
New password: ★設定するパスワードを入力。
Re-enter new password: ★設定するパスワードを再入力。
passwd: password changed.
root [ ~ ]# id gowatana★ユーザが作成できた。
uid=1001(gowatana) gid=1001(docker) groups=1001(docker)
追加作成したユーザであれば、SSH サーバの設定を変更せずに
ssh コマンドや TeraTerm などで SSH ログインすることができます。
ログインしたうえで、su コマンドで root ユーザになることもできます。
gowatana [ ~ ]$ who am i
gowatana pts/1 May 27 14:43 (192.168.1.3)
gowatana [ ~ ]$ su -
Password: ★root ユーザのパスワード入力。
root [ ~ ]# ★root ユーザになれた。
ちなみに、docker ユーザに所属していれば、
root ではないユーザのまま docker コマンドを実行できたりもします。
ただし、docker デーモンの起動や停止は root ユーザや sudo での実行が必要です。
※下記の例では、docker デーモンはすでに root ユーザで起動済みです。
gowatana [ ~ ]$ id
uid=1001(gowatana) gid=1001(docker) groups=1001(docker)
gowatana [ ~ ]$ systemctl status docker.service | grep Active
Active: active (running) since Wed 2015-05-27 14:56:22 UTC; 25min ago
gowatana [ ~ ]$ docker info
Containers: 0
Images: 0
Storage Driver: overlay
Backing Filesystem: extfs
Execution Driver: native-0.2
Kernel Version: 3.19.2
Operating System: <unknown>
CPUs: 1
Total Memory: 993.8 MiB
Name: photon02
ID: 47AQ:EQNC:TIX5:UCSN:54QU:SJWQ:KPTF:5KLW:QGF3:MYZ5:ZFV7:H3UX
B: root での SSH ログインを許可する。
SSH サーバの設定を変更して、
sshd を再起動すると root ユーザでログイン可能になります。
まず、sshd の設定ファイル「/etc/ssh/sshd_config」の 134 行目あたりにある、
「PermitRootLogin」を「yes」に変更します。
変更前: PermitRootLogin no
↓
変更前: PermitRootLogin yes
たとえば、下記のように設定ファイルを編集します。
root [ ~ ]# cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bk
root [ ~ ]# vi /etc/ssh/sshd_config
root [ ~ ]# diff /etc/ssh/sshd_config_bk /etc/ssh/sshd_config
134c134
< PermitRootLogin no
---
> PermitRootLogin yes
設定ファイル内には PermitRootLogin の記載が複数個所にありますが、
編集するのはコメントアウトされていない(行頭に # が無い)行の設定です。
root [ ~ ]# cat -n /etc/ssh/sshd_config | grep PermitRootLogin
44 #PermitRootLogin yes
93 # the setting of "PermitRootLogin without-password".
134 PermitRootLogin yes ★変更したのはこの行。
そして、sshd を再起動します。
root [ ~ ]# systemctl restart sshd.service
これで、root ユーザでいきなり SSH ログインできるようになります。
以上、Photon Linux に SSH ログインする話でした。