LoginSignup
1
3

More than 3 years have passed since last update.

sshでの公開鍵認証の設定方法

Posted at

はじめに

公開鍵認証のやり方について、怪しい情報が多いので自分なりに整理した。
もし、間違ってたらコメントをいただけるとありがたいです。

作業手順

以下の作業はすべて一般ユーザ(ログインするユーザ)で実行する。管理者権限は不要。

鍵生成

<sshクライアントで作業>

公開鍵と秘密鍵がなければ、ssh-keygenで作る。
過去に作ったことがあれば使いまわすことになる。
(秘密鍵はユーザ自身の証明なので、あるユーザが複数のサーバにログインする場合でも
 同じ鍵で複数のサーバにログインすることになる)

コマンドを実行するとファイル名を聞かれるが、基本的にはデフォルトでいい。
パスワード(みたいなもの)を入力するとホームディレクトリの'.ssh/'に2つのファイルが生成される。
id_rsa.pubが公開鍵で他人に教えてもいいもの。
id_rsaが秘密鍵で誰にも教えてはいけない。
ls -lで読み取り権限を確認すると、id_rsaは自分以外も読めないようになっている。

公開鍵の登録

<sshサーバで作業>

ログインするユーザのホームディレクトリ直下の.ssh/(なければ作る)にauthorized_keysというファイルを作る。
もしあれば追記する。
ファイルの中身(もしくは追記する内容)は公開鍵情報=id_rsa.pubの一行をそのままコピーする。

ディレクトリ.sshとファイルauthorized_keysを新たに作った場合はパーミッションをchmodで変更する。

chmod 700 .ssh
cd .ssh
chmod 600 authorized_keys

補足

ここまでの手順でサーバにログインできるようになるはず。

サーバ側に公開鍵、秘密鍵のどちらもコピーする必要はなく、クライアントに鍵のペア、サーバにauthorized_keysがあればログインできる。
ただし、多段sshでそこからさらに別の場所にsshログインする場合は、その踏み台サーバがsshクライアントになると考えて、そこにも公開鍵と秘密鍵を置くことになる。
この辺を理解して不必要に鍵のコピーをばらまくのはやめましょう。

1
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
1
3