キー交換を使用して SSH 接続をセットアップするために VS Code に SSH キーを追加する必要がある場合は、このチュートリアルが役に立ちます。このチュートリアルでは、sudo
を持つ両方のユーザーの鍵交換を介して SSH 経由で接続するように VS コードを構成する方法を段階的に学習します。 権利 (homelab
) と組み込みの root
ユーザー。
前提条件
- Windows 用の Visual Studio コード。このチュートリアルでは、バージョン 1.5.1.1 を使用します。
- Windows 10 (SSH が必要で、プリインストールされています)
- リモート SSH ホスト – このチュートリアルでは、SSH が有効になっている OpenSUSE ホストを使用します。
- VS Code で SSH ホストをセットアップ済みであること (この記事を参照)。
SSH キーの作成
まず、Windows マシンで秘密および公開 SSH キーを生成する必要があります。
<オール>
完了すると、キーを保存したフォルダー id_rsa.pub に 2 つのファイル (キー) が作成されます。 (公開鍵) および id_rsa (秘密鍵)。デフォルトでは、これらのキーは C:\Users\
SSH ホストへの公開鍵のアップロードと SSH ユーザーの関連付け
次に、公開鍵 (id_rsa.pub) を転送する必要があります リモート SSH ユーザーの許可されたキーの場所に。 VSCode を使用すると、組み込みのエクスプローラーを使用してキーをアップロードできます。
関連:VS Code と SSH を使用した SSH キー交換接続の設定
<オール>homelab
を使用しています。 ユーザー。
これで、公開鍵を SSH ユーザーに関連付けることができました。パスワードを必要とせずに再接続できるはずです。
公開鍵とルート ユーザーの関連付け
root
に同じキーを関連付ける user は、通常のユーザーまたは組み込みの root
のいずれかとして SSH 接続する機能を提供します ユーザー。
root
の場合 ユーザー ~/.ssh/authorized_keys をコピーします /root/.ssh/authorized_keys に .以下のコマンドを実行することで、これを行うことができます:
sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys

キーを
root
に関連付ける ユーザーにはsudo
が必要です 管理者権限。 sudo の詳細については、こちらをご覧ください。
これで、Windows でパスワードを要求することなく、SSH 経由で root ユーザーにログインできるはずです。
YaST を使用して公開鍵を root ユーザーにグラフィカルに追加する
視覚的に学習する方であれば、OpenSUSE の YaST 構成ユーティリティを使用して同じタスクを実行できます。これは、authorized_keys をコピーするのと機能的に同じです。
YaST は、OpenSUSE ディストリビューションに固有の構成ツールです。
関連記事:Linux 世界の Windows ガイ:YaST とデスクトップ
<オール>
2. sudo yast
を実行します VSCode ターミナルで。
3. YaST に移動したら、[セキュリティとユーザー] —> [ユーザーとグループの管理] に移動します。 矢印キーを使用します。 Enter を押します ユーザーとグループの管理に入ります セクション。この手順により、YaST のユーザー管理画面が表示されます。

4. Alt+S を押します YaST でフィルターを通常のユーザーからシステム ユーザーに変更します。
5. root
まで下に移動します . alt+i を押します 編集してから alt+s キーセクションに移動します。以下のアニメーションでそれを見ることができます:

6. alt+a を押します id_rsa.pub に移動します 以前にアップロードしたファイルを開き、alt+o を押します OK . root ユーザーに指紋が追加されているはずです。
7. alt+o を押し続けます [OK] でメニューを終了し、最後に alt+q やめること。以下のアニメーションでそれを見ることができます:

この段階で、root の鍵交換に成功しました!アップロードされた /home/
キーによる認証
最後に、新しく作成したキーを使用して接続をテストする必要があります。そのためには:
PowerShell コンソールを開き、ssh
を実行してみてください ユーザーと root ユーザーの両方としてログインをテストします。このガイドでは homelab
を使用しています ユーザーとして通常のユーザー。すべてがうまくいけば、すぐにいずれかのアカウントにログインできるはずです。これは以下で確認できます:

root として SSH 接続できるようになり、ターミナルはパスワードを要求しませんでした。 SSH for Windows は秘密鍵を探す場所を知っていました (C:\users\
どちらかのユーザーを使用するように VS Code を構成する
root
の両方を使用してリモート SSH ホストに接続する必要がある場合はどうなりますか? ユーザーアカウントと標準の管理者ユーザー? VS Code で 2 つの異なる構成を使用して、このシナリオをセットアップできます。

2. VS Code は選択するファイルを要求します。 Enter キーを押して、この記事の前半で生成した既定のファイルを選択します。 VS Code は、以下に示すように、編集する構成ファイルを開きます。

3. 構成の最初の 3 行をコピーし、空白行で区切って以下に貼り付けます。
4. 2 番目のユーザーを homelab
下のスクリーンショット) を root
に .また、よりわかりやすい名前を付けてください (Host
パラメーター) を使用して、2 つの構成を区別できるようにします。 Ctrl+s キーを押します 保存する:

Host
パラメータは、スペースと特殊文字に敏感です。ハイフンと英数字のみを使用してホストに名前を付けます。Hostname
IP または DNS 名と同等です。上記の例では、172.25.179.190
の IP を使用しています。
(下のスクリーンショットで) 2 つの SSH ターゲットがあることがわかります:test-machine 、および test-machine-root .

5. SSH ターゲットを右クリックし、[Connect to Host in Current Window] をクリックして、いずれかのホストに接続します。 以下に示すように。
root として接続すると、保護されたファイルを含め、マシンへの完全なアクセス権が与えられます。

新しいウィンドウでホストに接続する場合 、VSCode は新しい接続で別のインスタンスを起動します。これにより、両方の
root
を持つことができます と2 つの別々のセッションで同時に開きます。どちらがどれであるかを混同しないでください!