WSL上でxserverにssh接続する

投稿者: | 2021年12月5日

実験のために作った計算機は私が借りているレンタルサーバ(xserver)に置いています。そのときにssh接続をする必要があったので手順のメモしておきます。

1. やりたいこと

  • レンタルサーバ(xserver)にssh接続する
  • ssh接続はWSL上で行う

2. ssh接続の準備

SSH接続の手順通りに設定する。
公開鍵は一つしか登録できないので注意が必要です。再登録をするとその鍵に更新されます。
秘密鍵の置き場所はどこでもいいですが、私はユーザ>ユーザ名直下に置いています。

3. SSH接続する

SSHソフトの設定(Tera Term)に記載のSSHアカウント情報を参考にします。
次のコマンドを打ってSSH接続をします。

ssh [サーバID]@[サーバ番号].xserver.jp -p 10022 -i [秘密鍵のpath]

接続できればOKです。

3-1. 秘密鍵のパーミッションを変更する

WSL上でssh接続をすると秘密鍵のパーミッションが危険だから変更しろと出てきます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '[秘密鍵]' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "[秘密鍵]": bad permissions
[サーバID]@[サーバ番号].xserver.jp: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

3.2 WSL上でchmodを用いてパーミッションを変更できるようにする

Linuxならchmodでパーミッションを変更するだけですが、WSLでは適切に設定をしてあげないとchmodでパーミッションを変更できません。

マウントオプションを変更するためにオプションを定義します。

sudo vi /etc/wsl.conf

そしてファイルの内容を次のように編集します。

[automount]
options = "metadata"

:wqで上書き保存をするとファイルが新規作成された上でvimを終了できます。
この後windowsを再起動するか、アンマウント後マウントすると準備は完了です。

3.3 秘密鍵のパーミッションを適切に変更する

chmod 600 [秘密鍵のpath]

変更後、パーミッションが変更されたか確認します。

ls -la

パーミッションを一覧表示して、秘密鍵のパーミッションが"-rw——-"になっていれば準備は完了です。
この後、もう一度ssh接続するコマンドを実行します。

[おまけ]WSLでパスワードを忘れたとき

WSLのパスワードを全然使わないので忘れます。その時の再設定の仕方です。
まずは、コマンドプロンプトかPowerShellを起動して次のコマンドを実行します。

wsl -u root

そうするとrootでWSLにログインできるので、使用しているユーザのパスワードを再設定します。

password [username]

4. おわりに

ssh接続するまでに意外と時間がかかった。
登録できる公開鍵-秘密鍵のペアが1ペアだけなので、他のマシンからアクセスする場合は同じ秘密鍵が必要・・・?

参考文献

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください