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 を変更する必要はないと思います。

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