進むWindowsのLinux化 - OpenSSH for Windows

【連載】

にわか管理者のためのLinux運用入門

【第203回】進むWindowsのLinux化 - OpenSSH for Windows

[2019/11/05 17:45]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

OpenSSH for Windows

WSL (Windows Subsystem for Linux)が導入され、Windowsで直接Linuxが利用できるようになったことでWindowsネイティブなOpenSSHの必要性は低くなってしまったが、実はWindows 10にはすでにWindows版のOpenSSHが統合されている。「Linuxディストリビューションをインストールするつもりはないが、OpenSSH経由でほかのサーバにログインして作業を行う必要がある」というのであれば、これだけで十分に仕事をこなすことができる。

Windows版のOpenSSH (クライアント)については、次のように設定アプリケーションの「オプション機能」から機能を有効化することができる。

Windows 10のオプション機能: OpenSSHクライアント

このオプション機能を有効化すると、ssh.exeというコマンドがインストールされる。PowerShellからssh.exeコマンドについて調べてみると、このOpenSSHはC:\WINDOWS\System32\OpenSSH\ssh.exeとしてインストールされていることがわかる。執筆時点でのバージョンは7.7p1だ。ライブラリとしてはLibreSSL 2.6.5が使われていることがわかる。

OpenSSH for Windows version 7.7p1, libressl 2.6.5

これは次のようにWSL経由で実行されるsshコマンドとは別物であることがわかる。この場合、WSLで動作するUbuntu 18.04 LTSのsshよりもWindows版のOpenSSHのほうがバージョンが新しいことがわかる。

WSLで動作するUbuntu 18.04 LTSのsshコマンド

OpenSSHはLinuxを使う際には欠かすことのできない機能だ。WindowsにネイティブにOpenSSHの機能が導入されたのはこの点でとても意義がある。デスクトップやノートPC向けのOSとして現在最も普及しているのはWindows 10だ。このOSにOpenSSHが用意されているということは、Linuxにアクセスするための端末として利用できることを意味している。この点でもMicrosoftがLinuxの扱いに積極的であることがわかる。

OpenSSH for Windowsを使ってみよう

OpenSSH for Windowsの使い方は通常のOpenSSHと同じだ。次のようにssh.exeコマンドを実行すれば、sshdが動作しているほかのサーバにログインすることができる。

OpenSSH for Windowsの使用例

OpenSSHを多用するようになると、アクセス時のオプションや、アクセスに利用する鍵を管理する必要が出てくる。Windows版のOpenSSHは基本的にOpenSSHそのままなので、これまでLinuxやmacOSで使っていたOpenSSHの設定やスキルがそのまま利用できる。逆に、WindowsのOpenSSHで使い出した設定やスキルが、そのままLinuxやmacOSでも利用できることを意味している。

これまでWindowsには公式にOpenSSHが移植されてこなかったため、SSHプロトコルを実装したターミナルアプリケーションを個別に用意して利用する必要があった。その場合、設定やスキルはそのアプリケーションに限定されがちで、ほかのプラットフォームとスキルの共有がしにくいところがあった。しかし、ネイティブなOpenSSH for Windowsを使うと、そういった部分の問題を解消することができる。

OpenSSH for WindowsかOpenSSH on WSLか

WSL経由でLinuxディストリビューションが利用できるようになったため、わざわざOpenSSH for Windowsの機能を有効にして利用すべきか、それともWSL経由でLinuxディストリビューションのほうを利用するのか、判断が難しいところではないかと思う。

基本的にはWSLのほうが便利だとは思う。Linuxで利用できる豊富なコマンドやソフトウエアが利用できるというのは大きい。特にすでにLinuxの利用に精通している場合、OpenSSH for WindowsよりもWSL経由でLinuxのコマンドを利用した方が便利だろう。

一方、Linuxをほとんど使ったことがないとか、それほど使うつもりがないというのであれば、OpenSSHクライアントの機能を有効化して利用するというのは悪くない選択肢だ。WSLの機能はそれほど単純なものではないので、その挙動を理解しようとすればそれなりの知識と経験が必要になる。その点、OpenSSH for WindowsのほうはWindowsでネイティブに実行できるバイナリであり、その挙動を理解しやすいだろう。Windows Terminalも来年には正式版がリリースされるわけだし、OpenSSH for WindowsをWindows Terminalで使うというのは悪くない選択肢だ。

便利な不便かはケースバイケースなので何とも言えないが、どちらもインストールして共存させることもできる。OpenSSH for Windowsを使ったことがないのであれば、この機会に試してもらえればと思う。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る