LoginSignup
5
3

More than 1 year has passed since last update.

今は Windows Terminal があるので Tera Term がなくても SSH が使える!?

Last updated at Posted at 2023-04-07

Windows に ssh.exe や Windows Terminal が標準で入るようになりました。「ゆえに SSH に Tera Term は必要ない」という発言を見かけますが、その説明が技術的に正しいと言える場合と、そうでない場合を説明してみたいと思います。

説明1. ssh.exe が標準搭載された

OpenSSH の Windows バイナリはそれ以前からありましたので、これだけでは技術的に正しい説明とはなりません。

導入しやすくなったのは事実ですが、自分で導入すれば("OpenSSH for Windows" とか、Cygwin に openssh パッケージを入れるなどで)利用可能でした。

説明2. Windows Terminal が標準搭載された

Windows コンソールホスト(conhost.exe) で起動したコマンドプロンプトからでも ssh.exe は使えるので、技術的に正しい説明とはなりません。昔からコマンドプロンプトで telnet.exe が使えたのと同じです。

説明3. Microsoft が提供したものだけを使いたい

自由にフリーソフトを入れられない環境もあり、そのような制約がある場合には OS 標準のツールでのみ作業することになります。また、単に導入が楽ということもあります。そのような場合には技術的に正しい説明になると思われます。

ssh.exe が標準搭載されたことは理由になります。しかし前述のとおり「Windows Terminal が搭載されるようになったから」は理由になりません。

また Windows に標準搭載された ssh.exe は、Microsoft が OpenSSH を Windows バイナリとしてコンパイルしたものです。Microsoft が独自に開発した SSH クライアントというわけではありません。Micosoft が OpenSSH を Windows に標準搭載したこと(ある意味で OpenSSH または OpenBSD Project を信用する判断をしたこと)で導入できるのであれば、ssh.exe が OpenSSH であることは問題にならないことでしょう。逆に「Microsoft が開発したものでなければ不安で使えない」のであれば、macOS, 各種 Linux, BSD などで採用されている OpenSSH であっても使えないことになります。

コンポーネントと担当部分のまとめ

Tera Term や Windows Terminal といった登場人物は、次のような役割を担当しています。

component.drawio.png

「Windows Terminal が、Tera Term や他の端末エミュレータと同様に SSH 接続を行っている」という認識は誤りであり、正しくは以下のようになります。

  • Windows Terminal を使う場合

    • Windows Terminal を起動する
      • コマンドプロンプト(cmd.exe) か PowerShell が起動し、コマンド入力を受け付けるようになる
    • ssh.exe コマンドで SSH サーバに接続する
      • SSH サーバがシェルを起動し、サーバ側のコマンド入力を受け付けるようになる
  • Tera Term の場合

    • Tera Term を起動する
    • 接続先を指定して接続を開始する
      • SSH プロトコルで接続する場合は内部的に TTSSH が使用される
      • SSH サーバがシェルを起動し、サーバ側のコマンド入力を受け付けるようになる
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3