LoginSignup
0
1

Tailscale(VPN)とVSCode Remote SSHでサクッとSSH接続

Posted at

はじめに

やりたいこと

1. お手軽なVPNサービス「Tailscale」を使って、
2. Visual Studio CodeのRemote SSHで簡単にSSH接続します

具体的な手順

今回はUbuntuサーバーを設定し(WSLでも可)、MacやWindowsからサーバーにSSH接続します。
以下の手順で進めていきます。

1. Tailscaleのインストール
2. Ubuntuサーバーの構築
3. 公開鍵・秘密鍵の設定
4. VSCodeの設定

1. Tailscaleのインストール

こちらは公式ドキュメントを参照しながら進めていきます。
https://tailscale.com/download

インストールを完了すると登録されたデバイスはTailscaleの管理画面で以下のように確認することができます。

image.png

2. Ubuntuサーバーの構築

Ubuntuではopenssh-serverパッケージをインストールするだけです。

1. OpenSSHサーバーをインストールします

sudo apt install -y openssh-server

2. SSHを始動させます

sudo systemctl start ssh

3. SSHを自動起動に設定します

sudo systemctl enable ssh

公開鍵・秘密鍵の設定

クライアント側

まずは、クライアント側で公開鍵・秘密鍵を作成していきます。
MacとWindowsに分けて説明します。

Windows

1. Windows Powershellを起動します

2. lsで「.ssh」ディレクトリがあることを確認し、なければmkdir .sshで作成します

3. ssh-keygen -t ed25519 -f .ssh/任意の名前
※後工程、秘密鍵のパスを使用することになり、.ssh/任意の名前秘密鍵のパスとします

4. パスワードを設定します

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

5. 鍵ペアの生成場所は「C:\Users\【ユーザー名】.ssh」内となります

6. 「C:\Users\【ユーザー名】.ssh」内の.pubデータをVSCodeあるいはテキストエディタで開きます
.pubデータの文字列が公開鍵とります。

Mac

1. ターミナルを起動します

2. ls -aで「.ssh」ディレクトリがあることを確認し、なければmkdir .sshで作成します

3. ssh-keygen -t ed25519 -f .ssh/任意の名前
※後工程、鍵のパスをしようすることになり、.ssh/任意の名前鍵のパスとします

4. パスワードを設定します

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

5. 「.ssh」ディレクトリに任意の名前(秘密鍵)と任意の名前.pub(公開鍵)が生成されていることを確認します

6. .pubデータをVSCodeあるいはテキストエディタで開きます
.pubデータの文字列が公開鍵とります。

サーバー側

クライアント側で作成した公開鍵を登録します。

1. サーバー側の「.ssh」内に「authorized_keys」ファイルを作成します
※「.ssh」ディレクトリがなければ、mkdir .sshで作成し、空の「authorized_keys」ファイルを作成します。

2. 「authorized_keys」ファイルをテキストエディタなどで開き、公開鍵(.pubファイル)の中身をコピペします
※あるいはecho "<公開鍵の中身>" >> ~/.ssh/authorized_keysを実行する。

3. chmod 600 ~/.ssh/authorized_keysでファイルのパーミッション(権限)を変更します(初回のみ)。

テストでSSH接続

上記の設定でSSH接続が完了しました。
ちゃんとSSH接続ができるか確認してみます。

1. ssh -i <秘密鍵のパス> <接続先ユーザー名>@<接続先ホスト名 or IPアドレス>でSSH接続します
※<接続先ユーザー名>はUbuntuのユーザー名です。
※<接続先ホスト名 or IPアドレス>はTailscaleの管理者画面のADDRESSESで確認できます。

2. 接続先のサーバーのパスワードを入力します

3. yesを入力します(初回のみ)

4. 接続を確認して、exitコマンドを実行し、ログアウトします

VSCodeの設定

sshコマンドを短縮する(エイリアス定義)ための設定をしていきます。

1. VSCodeの拡張機能である「Remote SSH」をインストールします

image.png

2. クライアントの「.ssh」ディレクトリをVSCodeで開いて、「.ssh/config」ファイルを作成します

3. configファイル内に以下のコードを記載します
※<接続先エイリアス名>はわかりやすい名前をつけます

Host <接続先エイリアス名>
    HostName <接続先ホスト名 or IPアドレス>
    User <接続先ユーザー名>
    IdentityFile ~/.ssh/<秘密鍵名>

4. VSCodeのリモートエクスプローラーからSSH接続します

5. SSHキーのパスワードを求められるため、「秘密鍵・公開鍵の設定」の項目で設定したパスワードを入力します

image.png

これでサクッとSSH接続ができました!

0
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
0
1