1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2のUbuntuにSSHでログインする方法

Posted at

「Pythonで実装するディープラーニング将棋AI」という本をテキストにして、実際にAIを作ろうと思っている。この本では、実行環境としてGoogle Colabのクラウドを使っており、自分もそれでやろうとしているのだが、長い時間の処理だと途中で接続が切れてしまったり、結局課金が必要な状況に追い込まれたので、ローカルに実行環境を作ろうと考えている。

GPUのコストなど考えると、どっちがいいのかが分からないが、最終目標ではローカルで動作させたいと思っているので、持っている自分のWindowsマシンを使って環境構築を試みた。

だが、Pytorchなどの環境や、使用するコマンドはLinuxで開発されているものが大半で、Windowsには移植されているということもあって、うまくインストールできない場合が多々あり、そこで時間のロスが出てしまうので、Windows上にWSL2でLinux環境を作って、そこでPythonを実行することを考えた。

そして、SSHでその環境にログインしてプログラムを実行するのであるが、なぜログインする必要があるのかという話になってくると、細かい将棋AIにまつわる説明が必要になるので、それは別の機会に説明するとして、今回は表題の方法について説明する。

Windowsには標準でSSHクライアントがインストールされているので、これを使う。

まずは、PowerShellからWSL2の準備を実行

PS C:\Users\username> wsl --install

このコマンド一発で、Ubuntuのインストールまで終了する。

次に、Ubuntuのコンソールを開いて、SSHを初期化する。

最初は ifconfigも入っていないので、その辺のネットワークツールもインストールしておく。

username@HOST:~$ sudo apt install net-tools
username@HOST:~$ sudo apt install openssh-server
username@HOST:~$ sudo systemctl enable ssh

これで、Ubuntu側のsshサーバーが立ち上がる。

WindowsからSSHでログインしてみる。その際のUbuntuのIPアドレスは、ifconfigコマンドで確認しておく。
ここでは、172.16.0.1とする。

PS C:\Users\username> ssh username@172.16.0.1

ここでパスワードを聞いてくる。パスワードを入力すれば、リモートログインが完了する。

しかし、パスワードを聞いてこないようにしないといけないので、PKIを使ってWindows側にキーペアを作成し、Ubuntu側に公開鍵をインストールする。

PS C:\Users\username> ssh-keygen

PS C:\Users\username> cd .ssh
PS C:\Users\username\.ssh> Get-Content id_rsa.pub |Set-Clipboard

これで、公開鍵がクリップボードにコピーできたので、これをUbuntu側にセットする。
.sshというディレクトリを作成して、その中にauthorized_keysというファイルを作成して、先ほどクリップボードにコピーした公開鍵のデータをそのまま入れる。

username@HOST:~$ mkdir -p .ssh
username@HOST:~$ chmod 700 .ssh
username@HOST:~$ cd .ssh
username@HOST:~/.ssh$ vi authorized_keys
username@HOST:~/.ssh$ chmod 600 authorized_keys

viで編集する。insertとして、マウスの右クリックするとペーストされるので、それを保存して完了。

これで、リモートログインがパスワードなしに可能となる。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?