Windows10+WSL(ubuntu) SSH接続できる環境を作成する
1.はじめに
WSLを使ってPHPの実行環境(PHP+Apache+Mariadb)を構築したくて、Windows10にMicrosoftストアからubuntuを入れて環境を作ろうと思い立ったのがはじまりです。
今回はWSLでローカルからSSH接続を可能として環境構築を開始できる状態までを目指したいと思います。
2.WLSのubuntuに18.04と20.04のバージョン違いがあり、どちらを使うか迷う
WLSはubuntuを利用したいのですが、18.04 と 20.04 の2つがあり、どちらを使った方が良いのか迷いました。
まず、18.04と20.04のバージョンナンバーについて
他と同様にメジャーバージョン・マイナーバージョンと勘違いしていましたが、ubuntuの場合のバージョンナンバーは「リリース日の年の下2桁と月」になるそうです。
両方ともLTS(Long Term Support)で5年間のサポートとなってますが、18.04であれば23.04までが期限になるので注意が必要です。
サポート期限を考えると新しい方が融通が利いてきますので20.04を使って環境を作っていく事にします。
3.ローカルからSSH接続ができないのでSSH接続を可能とする。
さあ、環境構築するぞ!と意気込んでみたものの、デフォルトのままではローカルからSSH接続ができませんでした。文字色とかコピペとかタブとか、普段から使い慣れているターミナルにしたいものです。
デフォルトでopensshは入っているので設定をしてSSHログインを有効にしてサービスをスタートします。
SSHコンフィグを書き換える
vi /etc/ssh/sshd_coinfig
----
PasswordAuthentication no
↓
PasswordAuthentication yes
RSAキーを作成する(作成しておかないとRSAキーが無いというエラーが出る)
ssh-keygen -A
----
ssh-keygen: generating new host keys: DSA
sshサービスを起動する
service ssh start
----
* Starting OpenBSD Secure Shell server sshd
IPアドレスを確認する
ip addr show
補足
ubuntuはデフォルトでrootのSSHログインは禁止となっていました。
vi /etc/ssh/sshd_coinfig
#PermitRootLogin prohibit-password
↓
PermitRootLogin yes
とするとrootログインを許可する設定になります。
※ただし、rootログインは不許可のままにして、別のユーザーを作成することをオススメします
ユーザー追加
adduser [user_name]
ユーザー追加しただけではsudoが使えないので、追加したユーザーでsudoが使えるようにします。
gpasswd -a [user_name] sudo
----
Adding user [user_name] to group sudo
上記の ip addr show で調べたIPアドレスに対して、ローカルからSSH接続をすると無事に接続ができました。
いざPHPが動く環境を作ろうぞって思ってもSSH接続するだけで、ここまで作りこまないといけないので初学者の方に敷居が高くなってしまうかもしれませんね。