はじめに#
Windows プラットフォームでは、サーバーへの SSH 接続を実現するためのソフトウェアの選択肢が非常に多いです。XShell や PuTTY などの機能豊富なものや、Tabby Terminal などの見た目が美しいものもあります。しかし、Windows Terminal をメインのターミナルとして使用するようになったので、他のアプリを開かずに SSH 接続を行いたいと思い、このノートを作成しました。
基本操作#
現在、オンラインで見つけることができるチュートリアルは、settings.json を編集して設定する方法ですが、Windows Terminal のアップデートに伴い、視覚的な設定が可能になりました。この記事では、GUI を使用して直接設定する方法を説明します。
-
Windows Terminal を開き、
Ctrl+,
を入力して設定ページに移動します。 -
左側で、「新しいプロファイルを追加」をクリックします。
-
「コピー」をクリックし、どれをコピーしても問題ありません。
-
名前を変更します。
-
サーバーが Linux の場合(おそらくほとんどの場合はそうです)、起動ディレクトリを
~
に変更するか、任意のディレクトリに変更できます。 -
アイコンを次のように変更できます。
ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png
これは Linux のペンギンのアイコンです。
-
最も重要なのは、「コマンドライン」の設定です。次のように設定します。
ssh -p [ポート] [ユーザー名]@[サーバーのIPアドレス] #ポートが22の場合、-p [ポート]は省略できます #例: ssh -p 2342 [email protected] ssh [email protected] #SSHポートが22の場合
-
「保存」をクリックして、使用できるようになります。
- しかし、この方法では毎回パスワードを入力する必要がありますし、Windows Terminal にはパスワードを保存する機能もありません。どのように簡略化できるでしょうか?
RSA キーを使用したパスワードなしログイン#
-
サーバーでキーログインをサポートするように設定します。すでに設定済みの場合は、次のステップに進んでください。
-
こちらを参照して、初心者向けのチュートリアルを確認できます。主な手順を以下に抜粋します。
-
キーログインを使用するアカウントにログインし、次のコマンドを実行します。
cd ~ & ssh-keygen
-
その後、Enter キーを押して進めます。キーロックコードは設定しないでください。ログイン時にこのコードを再入力する必要がありますので、Enter キーを押してください。
cd .ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys chmod 700 ~/.ssh
-
FTP を使用して
~/.ssh/id_rsa
(生成したばかりの秘密鍵)をダウンロードし、意味のある名前に変更して%USERPROFILE%/.ssh/
ディレクトリに保存します。自動生成されたキーもこのフォルダに保存されます。 -
/etc/ssh/sshd_config
を編集し、次の設定を追加(変更 / コメントアウト解除 / 確認)します。RSAAuthentication yes PubkeyAuthentication yes PermitRootLogin yes # 必要に応じて、パスワードログインを禁止する設定を以下に示します # キーが使用できることをテストしてから変更してください PasswordAuthentication no
-
キーを使用して接続できることをテストした後、SSH サービスを再起動します。
service sshd restart
- 権限が不足している場合は、sudo を使用してください。
-
-
Windows Terminal の設定で「コマンドライン」の値を変更します。
ssh -i [秘密鍵のパス] -p [ポート] [ユーザー名]@[サーバーのIPアドレス] #例: ssh -i "C:/Users/usr/.ssh/id_rsa_server" -p 2342 [email protected]
-
おめでとうございます!
-
もし他のチュートリアルや公式ドキュメントに従っている場合、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 を変更する必要はないと思います。