SSH (secure shell) とは、外部のコンピュータへ安全にアクセスする方法のこと。
より正確には、安全でないネットワークを介しながら、安全なリモートログインと安全なネットワークサービス (shell操作など) を実現するためのプロトコル。
SSHとは
Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.
RFC 4251
SSHの仕組み
べんきょうちゅう
典型的にはTCP/IP上で通信を行う。しかし必ずしもTCP/IPに限定されるわけではない (reliable data stream上であればよい)。
The transport layer will typically be run over a TCP/IP connection, but might also be used on top of any other reliable data stream.
RFC 4251
SSHを利用する
SSHを利用したアプリケーションとしてはOpenSSHがデファクトスタンダード.
OpenSSH
クライアント
接続先情報などを明示的にコマンドラインを介して、あるいは暗示的に設定ファイルを介して与え、リモートホストへ接続する。
設定ファイルには名前付きssh設定を複数用意しておけるので、とても楽になる.
ホストから渡された秘密鍵でAuthZだとホストごとに引数変えたりしなければいけないので、とても重宝する (EC2とか).
設定ファイル(ssh_config - OpenSSH SSH client configuration files)は以下の優先順位で2種類
SSHクライアント on Windows
Windowsにはsshクライアント (OpenSSH) がプリインストールされており、PowerShellから呼び出せる.
PS > Get-Command ssh CommandType Name Version Source ----------- ---- ------- ------ Application ssh.exe 7.7.2.1 C:\WINDOWS\System32\OpenSSH\ssh.exe
正確には、Windowsの Features on Demand (FODs、オンデマンド機能) として、OpenSSH Clientが公式に用意され、Windowsにプリインストールされている。
プリインストールはApril 2018 Updateから [ref].