1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第186回 Secure Shell Explorers

マイナビニュース / 2024年10月4日 13時36分

画像提供:マイナビニュース

Unixには、ネットワークを介して、他のマシンを使うためのリモートシェル(rsh)やリモートログイン(rlogin)、テキスト通信(telnet)といった機能があった。インターネット初期のソフトウェアであるため、平文で通信を行っていた。世界がインターネットでつながると、その分、危険も増え、平文でパスワードを送るなんてことは危険な行為になった。IPsecやVPNのように通信全体を暗号化してその中で従来のプロトコルを使うという手法が使われたが、管理がかなり面倒だった。Windowsにもtelnetとtelnetサーバーがあったが事情は同じだった。

そんな中、暗号化通信を行う「Secure Shell」が1995年に開発された。これは、リモートシェルのように他のマシンに接続してシェル操作を可能にするものだが、接続、認証から暗号通信までを自分自身で管理するプログラムだった。一時、商業ソフトウェアであり、多数の実装があった。しかし、2006年にRFCとなり、オープンソース版のOpenSSHが開発されてからは、OpenSSHのソースコードをベースにした各プラットフォーム向けの「移植版」が作られ、接続問題はほとんど見られなくなった。

SSHはWindows 10で標準搭載されたが、当初の実装はLinux/Unixで使われていたOpenSSHとは、大きく異なるものだった(図01)。というのも当時のWindowsのコンソールには、Linux/Unixのpty(Pseudo TTY)に相当する疑似コンソール(ConPTY。Console Pseudo TTY)機能がなく、コンソール・アプリケーションであるシェルの画面バッファを操作してSSHサーバー側を実現していたからだ。

WindowsのConPTYは、オープンソース・プロジェクトであるWindows Terminalと並行して開発された。ConPTYが搭載されたのは、Windows 10 Ver.1809からだ。仮想コンソールが有効になったため、シェルなどのコンソール・アプリケーションの仮想コンソールにSSHサーバーなど別のソフトウェアを接続可能になった。これにより、WindowsのSSHは特殊なものではなく、OpenSSHの多数ある移植版とほぼ同じ構造になった。

とはいえ、古い技術でもあり、インターネットには大量のWindowsとSSHの記事があり、情報が古いままのものが少なくない。また、作業を単純化するあまり、危険なやり方をしているものもある。そこで、Windows 11(Ver.23H2)でのOpenSSHの基本設定に関して、基本的な解説しておくことにしよう。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください