3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ssh概要

Posted at

はじめに

はじめに本ドキュメントはsshについてまとめたものである。linuxなどの仮想マシンにアクセスする際によく使用するため仕組みついて詳しくなっておく必要があると感じたためまとめている。

sshとは

sample.drawio.png

Secure SHellの略称でセキュアな遠隔接続を可能にする。具体的には通信内容を暗号化するためパスワードやコマンドの処理結果がわからなくなる。

用途

  • サーバの遠隔操作
  • ファイルの転送
  • コマンドの実行
パスワード認証方式 公開鍵認証方式
手段 ユーザ名とパスワードによるログイン クライアント側で作成した公開鍵をサーバ側に登録してログイン
安全性 低い 高い
導入難易度 容易 やや手間がかかる

仕組み

OpenSSHというソフトウェアを使用する。OpenSSHとは、クライアントと遠隔にあるサーバどちらともに入れておく必要がある。(基本的にはUnix/Linux OSだとデフォルトで入っている。)

sample2.drawio.png

SSHクライアントからアクセス要求が来た時にSSHデーモンがログイン認証を行う。この<<認証方式>>が2種類存在する。

デーモン:常駐のアプリのことで、クライアントからの要求に応えるためにサービスが常に稼働している。

パスワード認証

パスワード認証では、サーバ側のマシンのユーザ名とパスワードをSSHデーモンがクライアント側に要求する。クライアント側で入力を行い、正しければログインすることが可能となる。

総当たり攻撃などに遭うと突破されるリスクがあるため注意すること

公開鍵認証

公開鍵認証では、クライアント側で作成した公開鍵(認証鍵)と秘密鍵を用いる。鍵とはいっているが実際はファイルのことである。

認証鍵

  • 公開鍵認証でユーザを識別するための鍵

sample3.drawio.png

公開鍵認証方式の手順

1.(クライアント)秘密鍵と公開鍵のペアを作成
2.(クライアント)公開鍵をサーバに共有
3.クライアントとサーバでセッションIDを共有
4.(クライアント)秘密鍵でセッションIDと公開鍵に対して署名を作成
→セッションIDによって署名のユニークなものにする

署名の中身 * セッションID * ユーザ名 * 公開鍵 * etc.

5.(クライアント)署名をサーバに送信
6.(サーバ)公開鍵で署名を複合化し、署名の検証

ssh接続方法

公開鍵認証を用いたssh接続方法を示す。

秘密鍵と公開鍵の生成::
以下のようにクライアント側で秘密鍵と公開鍵のペアを作成してscpコマンドを用いてサーバ側に共有する。

#ホームディレクトリ直下に``.ssh``フォルダを作成
sudo mkdir .ssh

cd .ssh

#鍵の生成
ssh-keygen -t rsa -b 4096 -f <鍵の名前>

#公開鍵をサーバに渡す
scp -P 22 <公開鍵のパス> <サーバ側ユーザ名>@<サーバ側IPアドレス>:<公開鍵を配置するパス>

#クライアント側の権限を変更
chmod 700 ~/.ssh

#サーバ側の権限を変更
chmod 600 ~/.ssh/authorized_keys

接続確認::

ssh <ユーザ名>@<IPアドレス>

パスフレーズ:鍵セット作成時に問われるが、これは秘密鍵にアクセスするためのパスワードに該当する。

コマンドが使えるかわからないが、流れは合っている。

参考文献

「マスタリングTCP/IP入門編5章」 p285~

qiita:初心者がSSHについて学ぶ(´・ω・`)

qiita:インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識

zenn:SSHにおける公開鍵・秘密鍵を用いた認証方法をちゃんと理解しておく

zenn:SSHの公開鍵認証とは何をやっているのか?

さくらのナレッジ:「よく分かる公開鍵認証」~初心者でもよくわかる!VPSによるWebサーバー運用講座(2)

qiita:SSHの公開鍵ってなに?

qiita:SSHの公開鍵認証における良くある誤解の話

zenn:SSHのユーザー認証についてすこしだけ詳しくなるはなし

qiita:chmod コマンド

qiita:公開鍵暗号を用いてのSSH接続(きほん)

qiita:SSH公開鍵認証で接続するまで

qiita:公開鍵認証方式でのssh接続・設定・トラブルシューティング法

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?