Yunfi

Yunfi

tg_channel
github
email

Windows Terminal ターミナルは、サーバーへのssh接続を実現します。

はじめに#

Windows プラットフォームでは、サーバーへの SSH 接続を実現するためのソフトウェアの選択肢が非常に多いです。XShell や PuTTY などの機能豊富なものや、Tabby Terminal などの見た目が美しいものもあります。しかし、Windows Terminal をメインのターミナルとして使用するようになったので、他のアプリを開かずに SSH 接続を行いたいと思い、このノートを作成しました。

基本操作#

現在、オンラインで見つけることができるチュートリアルは、settings.json を編集して設定する方法ですが、Windows Terminal のアップデートに伴い、視覚的な設定が可能になりました。この記事では、GUI を使用して直接設定する方法を説明します。

  1. Windows Terminal を開き、Ctrl+,を入力して設定ページに移動します。

  2. 左側で、「新しいプロファイルを追加」をクリックします。

    プロファイル

  3. 「コピー」をクリックし、どれをコピーしても問題ありません。

  4. 名前を変更します。

  5. サーバーが Linux の場合(おそらくほとんどの場合はそうです)、起動ディレクトリを~に変更するか、任意のディレクトリに変更できます。

  6. アイコンを次のように変更できます。

    ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png

    これは Linux のペンギンのアイコンです。

  7. 最も重要なのは、「コマンドライン」の設定です。次のように設定します。

    ssh -p [ポート] [ユーザー名]@[サーバーのIPアドレス]
    #ポートが22の場合、-p [ポート]は省略できます
    #例:
    ssh -p 2342 [email protected]
    ssh [email protected] #SSHポートが22の場合
    
  8. 「保存」をクリックして、使用できるようになります。

    例

  • しかし、この方法では毎回パスワードを入力する必要がありますし、Windows Terminal にはパスワードを保存する機能もありません。どのように簡略化できるでしょうか?

RSA キーを使用したパスワードなしログイン#

  1. サーバーでキーログインをサポートするように設定します。すでに設定済みの場合は、次のステップに進んでください。

    1. こちらを参照して、初心者向けのチュートリアルを確認できます。主な手順を以下に抜粋します。

    2. キーログインを使用するアカウントにログインし、次のコマンドを実行します。

      cd ~ & ssh-keygen
      
    3. その後、Enter キーを押して進めます。キーロックコードは設定しないでください。ログイン時にこのコードを再入力する必要がありますので、Enter キーを押してください。

      cd .ssh
      cat id_rsa.pub >> authorized_keys
      chmod 600 authorized_keys
      chmod 700 ~/.ssh
      
    4. FTP を使用して~/.ssh/id_rsa(生成したばかりの秘密鍵)をダウンロードし、意味のある名前に変更して%USERPROFILE%/.ssh/ディレクトリに保存します。自動生成されたキーもこのフォルダに保存されます。

    5. /etc/ssh/sshd_configを編集し、次の設定を追加(変更 / コメントアウト解除 / 確認)します。

      RSAAuthentication yes
      PubkeyAuthentication yes
      PermitRootLogin yes
      
      # 必要に応じて、パスワードログインを禁止する設定を以下に示します
      # キーが使用できることをテストしてから変更してください
      PasswordAuthentication no
      
    6. キーを使用して接続できることをテストした後、SSH サービスを再起動します。

      service sshd restart
      
    • 権限が不足している場合は、sudo を使用してください。
  2. Windows Terminal の設定で「コマンドライン」の値を変更します。

    ssh -i [秘密鍵のパス] -p [ポート] [ユーザー名]@[サーバーのIPアドレス]
    #例:
    ssh -i "C:/Users/usr/.ssh/id_rsa_server" -p 2342 [email protected]
    
  3. おめでとうございます!

  • もし他のチュートリアルや公式ドキュメントに従っている場合、settings.json でパスを書く際に引用符をエスケープすることを忘れずに、/ではなく\\を使用するか、エスケープすることもできます。例:

    "commandline": "ssh -i \"C:\\Users\\usr\\.ssh\\id_rsa_server\" -p 1145 [email protected]",
    

おわりに#

Microsoft Learn の公式ドキュメントへのリンクを貼っておきます Windows Terminal SSH | Microsoft Learn

現在の Windows Terminal では、ほとんどの操作が視覚的に行えるようになりましたので、特別な要件がない限り、settings.json を変更する必要はないと思います。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。