SSH(Secure Shell)とは?
- ネットワークに接続された機器の通信を暗号化することで安全に操作する仕組み
- 主にOpenSSHというソフトウェアに使って通信が行われる
認証(接続を認められるため)の方法
| パスワード認証方式 | 公開認証方式 |
|---|---|
| 予め設定したパスワードを入力して接続 | 『公開鍵』ファイルを用いて接続 |
| 安全性が低い(パスワード流出のリスクあり) | 安全性が高い |
| 設定が簡単にできる | 設定が難しい |
SSHに関係するファイル(クライアント側)
| ファイル名 | 説明 |
|---|---|
| ssh_config | クライアント側のSSHの設定 |
| id_rsa | SSHの秘密鍵 |
| id_rsa.pub | SSHの秘密鍵 |
| known_hosts | 接続先のサーバの情報や 送られてきたホスト認証のための公開鍵 |
※ユーザー別にホームディレクトリ直下の『.ssh』ディレクトリに保存される(共通の場合は『/etc/ssh/』)
(例) /home/iwata/.ssh/ssh_config
(例) /etc/ssh/.ssh/ssh_config
SSHに関係するファイル(ホスト側)
| ファイル名 | 説明 |
|---|---|
| ssh_config | ホスト側のSSHの設定 |
| id_rsa | SSHのホスト側の秘密鍵 |
| id_rsa.pub | SSHのホスト側の秘密鍵 |
| known_hosts | クライアント(ユーザー)によって 登録された公開鍵のリスト |
※基本的に『etc』ディレクトリ直下の『ssh』ディレクトリに保存されるが、
『authorized_keys』のみホームディレクトリ直下の『.ssh』ディリクトリに保存される
(例) /etc/ssh/sshd_config
(例) /home/iwata/authorized_key
①公開鍵と秘密鍵のペアを作成
| コマンド | オプション | 引数 |
|---|---|---|
| ssh-keygen | ||
| はたらき | SSHの『公開鍵』と『秘密鍵』を作成する | |
| 備考 | ・ホームディレクトリの下の『.ssh』ディリクトリに作成される ・実行時に入力させられるパスフレーズは、秘密鍵を使うためのもの |
(例)$ ssh-keygen
公開鍵と秘密鍵を作成しろ
②公開鍵をリモートホストに登録
| コマンド | オプション | 引数 |
|---|---|---|
| ssh-copy-id | 接続先アカウント名@接続先ホスト名 | |
| はたらき | クライアントが作成した公開鍵をサーバに登録する | |
| 備考 | ・登録するためにはパスワード方式など他の認証が有効である必要がある ・公開鍵はサーバ側『~/.ssh』ディリクトリの『authorized_key』ファイルに書き込まれる |
(例)$ ssh-copy-id testuser@testhost
公開鍵とサーバー側にコピーしろ コピー先はtesthosサーバのtestuserというアカウント
③SSHでリモートホストにログイン
| コマンド | オプション | 引数 |
|---|---|---|
| ssh | 接続先アカウント名@接続先ホスト名 IPアドレス |
|
| はたらき | SSHでリモートホストにログインする | |
| 備考 |
(例)$ ssh testuser@testhost
SSHでログインしろ ログイン先はtesthostサーバのtestuserというアカウント
④SSHでリモートホストにログアウト
| コマンド | オプション | 引数 |
|---|---|---|
| logout exit |
||
| はたらき | 作業を終了してログアウトし、SSH接続を切断する | |
| 備考 | ・コマンドを実行しないで『ctrlキーとD』を同時に押してもログアウトできる |
(例)$ logout
SSH接続を終了し、サーバからログアウトしろ
参考サイト
【LinuC/LPIC合格講座】安全なリモート通信「SSH」の仕組みを徹底解説!クーポンはこちら【ITエンジニア基礎入門】#5
【LinuC/LPIC合格講座】「SSH」を使ったLinux操作方法を簡単解説!クーポンはこちら【ITエンジニア基礎入門】#6