GNU/Linux >> Linux の 問題 >  >> Linux

Linux 世界の Windows ガイ:VS Code とリモート SSH

A Windows Guy in a Linux World ブログ投稿シリーズの最終回へようこそ。ここでは、VS Code とリモート SSH ホストの接続方法を学びます。このシリーズに沿って進めてきた場合は、Linux マシンのリモート管理 (ファイルの編集を含む) を開始するためのすべてのツールと知識が既にあるはずです。

読者ではありませんか?この関連するビデオ チュートリアルをご覧ください。 ビデオが表示されない場合広告ブロッカーが無効になっていることを確認してください。

このシリーズの以前の投稿をチェックしてください:

  • ユーザーとファイルのアクセス許可
  • YaST とデスクトップ
  • ミッドナイト コマンダー

前に説明したツールは便利ですが、Windows のようには感じません。 Linux ツールは、ネイティブの Windows エクスペリエンスと比較して、なじみがなく、使いにくいと感じる場合があります。 5 回シリーズの最終回となるこの記事では、Visual Studio (VS) Code を使用して Windows マシン上でファイルをネイティブに編集し、よりモダンなエクスペリエンスを実現する方法を学びます。

前提条件

この投稿で提供されている例に従うには、次のものがあることを確認してください。

  • Windows 用の Visual Studio コード。このガイドではバージョン 1.5.1.1 を使用します
  • Windows 10 (SSH が必要で、プリインストールされています)
  • SSH が有効で、Midnight Commander がインストールされた OpenSUSE ホスト

優れた編集環境の必要性

Linux には中央レジストリがありません。 Windows とは異なり、ほぼすべて Linuxについては、構成ファイルを中心に展開しています。 GUI で行うすべての変更、Web インターフェースでチェックするすべてのボックス、行うすべての構成変更、その設定を反映するファイルがどこかにあります。

Linux では構成ファイルが非常に重要であるため、優れたテキスト エディターが必要です。 Linux には、Midnight Commander テキスト エディター (mcedit として知られる) など、いくつかの優れた機能があります。 ) 前に説明しました。

ただし、このシリーズは、Windows ユーザーの観点から Linux で作業するためのものです。 Windows は (ほぼ間違いなく) 最高の 市販のテキストエディタ。さらに良いことに、Linux リモート処理プロトコル (SSH) と完全に互換性があります。

Visual Studio Code – Microsoft 推奨のテキスト エディター

Microsoft は、非常に強力なテキスト エディターである Visual Studio Code を作成しています。 VS Code は、Windows でファイルを編集する主要な方法として、Microsoft エコシステムの他のほぼすべてのテキスト エディターを引き継いでいます。 Visual Studio Code については既にご存知かもしれませんが、このサイトで頻繁に取り上げられています。

Visual Studio Code は、技術的には統合開発環境 (IDE) であり、構文を認識するエディターでもあります。つまり、エディター内でシェル コマンドを直接実行できるだけでなく、スクリプトのデバッグにも使用できます。

VS Code を使用してローカルでファイルを操作できるだけでなく、VS Code は SSH を介したリモート ファイル編集もサポートしています。リモート ファイル編集とは、SSH プロンプトを介してコマンド ラインをナビゲートする代わりに、VS Code を離れずにファイルを直接開いて探索し、編集できることを意味します!

VS Code とリモート SSH 拡張機能のインストールと接続

VS Code にはすぐに使用できる SSH サポートは付属していませんが、拡張機能マーケットプレイスの力を利用して、この機能を追加できます。そのためには、リモート SSH 拡張機能をインストールする必要があります。

<オール>
  • VS Code では、左側にブロックのようなサイドバーが表示されます。そのアイコンをクリックして、Extension Marketplace 検索ボックスを表示します。
  • 2. ssh と入力します リモート – SSH を検索します 拡張子は下図の通り。公式の Microsoft 拡張機能が最上位の結果になるはずです。

    3. 緑色の [インストール] をクリックします。 Remote – SSH の横にあるボタン 拡張子をクリックしてインストールを開始します。

    インストールすると、サイドバーに Remote Explorer という新しいアイコンがすぐに表示されます。 以下に示すように。

    この時点で、SSH セッションを追加する準備が整いました。

    VS Code で SSH を使用してターゲット サーバーに接続する

    それでは、SSH 経由でリモートの Linux マシンに接続し、VS Code でいくつかのファイルを編集する方法を見てみましょう!

    <オール>
  • リモート エクスプローラーをクリックします インストールしたアイコンをクリックして、リモート エクスプローラー パネルを開きます。
  • 2. + をクリックします SSH ターゲットの記号 以下に示すように、接続する新しいSSHサーバーを追加するボックス。

    3. ssh @ipを入力 前提条件で説明されているように、ターゲット Linux マシンのプロンプトで。以下の例では、ユーザーは homelab です IP は 172.25.179.190 です .

    4. 以下に示すように、設定データの保存場所を尋ねる空白のプロンプトが表示されます。これは、接続先の Linux デバイスが複数ある場合に備えて、保存されたすべての接続を記述したファイルです。この例では、ボックスを空白のままにして、デフォルトの場所に保存できます。 Enter キーを押してデフォルトの場所を保存します (C:\users\\.ssh\config )。

    5. 最後に、新しく作成した SSH ターゲットを右クリックし、[現在のウィンドウでホストに接続] をクリックします。 このアクションは、SSH 経由でターゲットに接続し、リモートで動作するように VS Code をセットアップします。

    すべてがうまくいけば、次のセクションですぐに SSH の構成を開始できるはずです。

    この段階で行き詰まった場合は、実際にターゲット コンピュータに SSH で接続できることを確認してください。テストする最も簡単な方法は、(Windows 10 で) コマンド ウィンドウを開き、ssh @ でテストすることです。 .それがうまくいかない場合は、VSCode も接続できません。

    最初の接続で SSH を構成する

    初めてリモート SSH サーバーに接続したら、初期設定を行う必要があります。以下に示すように、VS Code は接続の種類 (Linux) を尋ね、パスワードの入力を求めます。しばらくすると、左下隅が緑色に変わり、SSH: と表示されます。

    これですべての設定が完了し、リモート ファイル システムで作業を開始する準備が整いました!

    リモート フォルダとファイルを開く

    初めて接続したら、SSH 経由でリモート Linux サーバー上のファイルを開くことができます。そうするには:

    <オール>
  • Explorer という名前の左上のサイドバーをクリックします
  • 2. 青い [フォルダを開く] をクリックします ボタンをクリックしてリモート フォルダを開きます。

    3. 次に、開くフォルダを選択します。以下の例では、/home/ フォルダーを参照しています。

    フォルダを選択すると、パスワードを再度入力するように求められる場合があります。

    フォルダーを開くと、以下に示すファイル エクスプローラー パネルにリモート フォルダーの内容が視覚的に表示されます。

    ファイル エクスプローラー パネルのベース フォルダーは、ワークスペースと呼ばれます。 .ワークスペースは、前の手順で開いたフォルダーです。下のファイル エクスプローラー パネルに、前の手順で開いたフォルダーの内容が表示されていることがわかります。

    任意のファイル (.bashrc など) を開くことができるようになりました ファイル) と VS Code は自動的にそれをメイン パネルに表示し、構文を強調表示します!

    技術的にはルート フォルダ (/) を開くことができます ) をワークスペースとして使用するため、ファイルシステム全体にアクセスできます (ファイリング システムについては、このシリーズの第 2 部で詳しく説明します)。ただし、VS Code では、ターゲット ワークスペースが大きすぎる場合、変更を自動的に監視するという問題が発生します。 VSCode は警告をスローします。ファイル システムの変更を確認するには、手動で更新する必要がある場合があります。

    別の作業フォルダーの選択

    フォルダーを開いて、作業する必要のあるファイルが別のフォルダーにある場合はどうなりますか?この場合、別の「ベース」フォルダーを開くか、ワークスペースにフォルダーを追加することもできます。

    完全に別のフォルダを開く (最後のフォルダを閉じる) 場合は、ファイル に移動します。 メニュー、[フォルダを開く] をクリックします。 新しいフォルダを選択します。このアクションにより、VS Code が閉じられ、新しいワークスペースが開きます。

    他のフォルダを開いたままにしてワークスペースに別のフォルダを追加する場合は、ファイル メニューをもう一度クリックして、今度は [フォルダをワークスペースに追加] をクリックします。 .ここから、新しいフォルダーを既存のワークスペースに追加できます。

    これについての説明は、下のスクリーンショットで確認できます。

    ターゲットに接続し、フォルダでエクスプローラ ウィンドウを開く方法を学習したので、実際にできることを見てみましょう ファイル エクスプローラーで。

    ホストとターゲットの間でファイルを転送する

    VS Code は信じられないほど強力で、エクスプローラー ペインは、リモート ファイルの参照と編集以外にも役立ちます。また、ファイルをサーバーに直接アップロードおよびダウンロードするためにも使用できます!

    ファイルのアップロードとダウンロードは、ドラッグ アンド ドロップと同じくらい簡単です。たとえば、ローカル ファイルをリモート サーバーにアップロードするには:

    <オール>
  • リモート サーバーにアップロードするファイルを含むローカル フォルダに移動します。
  • ファイルをローカルの Windows エクスプローラー ウィンドウから VS Code のファイル エクスプローラー ウィンドウにドラッグします。
  • 完了!

    ファイルをダウンロードするには:

    <オール>
  • リモート サーバーからダウンロードするファイルに移動します。
  • ファイルを選択して右クリックし、[ダウンロード] を選択します。 .
  • ファイルを保存する場所を選択すると、ほら、ファイルがダウンロードされました。
  • これらの手順は、以下で実際に確認できます。

    また、切り取り、コピー、ドラッグ アンド ドロップ、新しいファイル/フォルダの作成、およびエクスプローラ ウィンドウから期待されるほとんどの操作を行うことができます。すべてがサーバー上でリモートで行われます。

    VS Code にはまだ 1 つの SSH トリックが用意されています。 VS Code を標準の SSH ターミナルとしても使用できます!

    SSH ターゲットに接続しているときに、[表示] をクリックします。 メニューをクリックして Termina を選択します l 以下のように。 VS Code はリモート SSH セッションを開きます。

    SSHを直接使用して、端末でできることはすべて実行できます。これには、マウス サポートを備えた Midnight Commander の使用も含まれます。以下で Midnight Commander が起動されているのを確認できます。

    VS Code は内部でネイティブ Windows SSH クライアントを使用しています (Windows 10 v2009 では 7.7p1)。マウスをサポートするには、Microsoft SSH クライアント (この記事の執筆時点では 8.1p1) が必要です。詳細については、このシリーズのパート IV をご覧ください .

    保護された構成の編集と保護されたファイルの変更

    コマンド ラインと比較して、VS Code の使用には 1 つの欠点があります。変更に管理者権限が必要なファイルは変更されません。これらは sudo で開かなければならないファイルです 編集する。この問題は次の 2 つの方法で回避できます。

    sudo は、Linux でコマンドを昇格させる方法です。 Windows の UAC に相当します。昇格したコマンド プロンプトを開くのではなく、sudo でコマンドを実行します。

    通常の SSH ウィンドウと同じように、sudo を実行することもできます。 VS Code ターミナル内のコマンド。ただし、VS Code は、変更に管理者権限が必要なファイルを保存できません。しかし、あなたはできます Midnight Commander というツールを使用します (with sudo 内部にエクスプローラ ウィンドウを作成する 管理者権限を持つ VSCode コマンド ライン。

    リモート SSH セッションの VS Code ターミナルで、sudo mc を実行します。 Midnight Commander ファイル管理ツールを開きます。ここに入ったら、編集したい保護されたファイルに移動し、必要に応じて変更します。そうすれば問題ありません。

    アクションを以下に示します。

    sudo mc を使用することの欠点 管理上の変更はかなり大きいため、VS Code ターミナルの使用に完全に制限されます。これは、エクスプローラー ペインなどの VS Code のほとんどのグラフィック機能や、メインの編集ウィンドウでさえも使用できないことを意味します。ナビゲーションはターミナル ウィンドウに完全に制限されています。

    VS Code で Midnight Commander の回避策を使用することはできますが、保護されたファイルを編集するべきではありません 頻繁。 sudo mc の使用 小さな変更を加えるか、1 回限りの構成を実行する場合にのみ必要です。

    定期的に作業しているファイルがある場合は、そのフォルダーの所有権またはグループに含まれている必要があります。そうすることで、管理者権限を必要とする必要がなくなります。

    関連記事:VS Code と SSH を使用した SSH キー交換接続の設定

    まとめ

    この 5 部構成のシリーズを最後まで読んでくれたすべての人に感謝します。 VS Code の構成により、Linux の世界を旅する準備が整いました。

    概念が理解できたので、Linux のより実用的な部分 (サーバーの実行、Docker の学習、および独自のインフラストラクチャーのセットアップ) への分岐を開始するための強力な基盤ができました。今後も多くの Linux 関連プロジェクトがここに登場することを期待してください!


    Linux
    1. WindowsとLinuxの相互運用性:Sambaの概要

    2. Linux および Windows からの DELL サービス タグおよびエクスプレス サービス コードの表示

    3. Linuxボックスを使用してssh経由でWindowsリモートデスクトップをトンネリングする方法は?

    1. Linuxを使用してWindowsでpodmanを起動して実行する

    2. LinuxにリモートWindows共有をマウントする方法

    3. 11 Linux で便利な「ssh」および「scp」コマンド

    1. WindowsとLinuxの間にSSH接続を確立します

    2. LinuxとWindowsをデュアルブートする方法

    3. 監視のためにリモートのLinuxおよびWindowsホストをIcinga2に追加する方法