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