SSH接続について

目次

1.SSH接続とは
 SSH(Secure Shell)は遠隔でコンピューター機器を操作するときに通信データを暗号化するプロトコルである。また、通信データを暗号化する意味では同じあるSSL(Secure Socket Layer)はインターネット上での端末とサーバ間の通信データを暗号化するプロトコルである。
 SSHでは認証方式として、公開鍵認証方式(「公開鍵」と「秘密鍵」を照合して認証する方法)が使われ、SSLではサーバ証明書、又はクライアント証明書による認証方法が使われ、用途が異なる。ここではSSH接続について扱う。

2.SSHの認証方式
(1)公開鍵認証方式
 秘密鍵(データに電子署名を行うもの)と公開鍵(電子署名されたデータが正しいか検証できるもの)の2つの鍵(キーペア)を使って認証する方法である。秘密鍵を持っている人(パソコン)からのみログインを許可することができる。

(2)パスワード認証方式
 サーバ側にユーザー名とパスワードのアカウント情報を設定しておき、パソコンから一致するパスワードが入力されたときログインできるようするもの。

3.SSHクライアントソフト
・OpenSSH
 OpenSSH (OpenBSD Secure Shell) とは、SSHプロトコルを利用するためのソフトウェアで、SSHサーバおよびSSHクライアントの両方の機能を含む。OpenBSDプロジェクトにより開発が行われ、BSDライセンスで公開されている。
 https://www.openssh.com/

・Putty
 Simon TathamがMIT Licenceで開発·公開しているリモートログオンクライアント。
 対応している通信プロトコルはSSH、Telnetやrloginなどがある。また、PuTTYを複数起動して複数の端末に同時に接続することができる。

・Teraterm
 Tera Termは、Windowsプラットフォームで動作するリモートログオンクライアント。
 対応している通信プロトコルはSSH、Telnet、シリアルなどある。

4.サーバにSSHで公開鍵認証方式によりログイン

4.1 実行環境
・Windows10にVirtualBoxの仮想マシンがインストールされている
・仮想マシンのOSはCentOS8

4.2 サーバにユーザ・パスワードでログインする

4.3 公開鍵と秘密鍵を作成する
 $ ssh-keygen -t rsa
 入力は全て、空欄としてEnter

4.4 作成されたキー、ディレクトリのパーミッション

4.5 公開鍵ファイルのリネーム
 公開鍵のファイル名はsshd_configファイルでデフォルトで「authorized_keys」となっているため、公開鍵ファイル名をこれに合わせる。
(設定ファイル:/etc/ssh/sshd_config)

# mv id_rsa.pub authorized_keys

4.6 秘密鍵をPCへ転送する
ファイル>「SSH SCP…」を選択

 From:作成された秘密鍵ファイルを指定
 To:PCの転送先ディレクトリを指定
 「Receive」をクリックすると転送開始

4.7 Teratermでサーバに接続

4.6項の転送先ディレクトリの秘密鍵を指定して「OK」をクリックする。

4.8 Windows10のコマンドプロンプトからサーバに接続
 >ssh (user name)@127.0.0.1 -p 2222

The end