ssh : 公開鍵認証の設定

概要

sshd サーバーで公開鍵認証をするための設定方法。

環境

  • Server
    • Debian 10 Buster / Raspbian 10 Buster
  • Client
    • Windows 10 Pro

手順

クライアント側の作業

キーペアの作成

Windows の場合

下記の記事を参照。

WindowsでSSHの鍵を作る - Qiita
# これは何? * WindowsでSSHの秘密鍵を生成した方法を記録したもの * Gitをインストールすると、ssh-keygenのexeがあるのでそれを利用して、鍵を作る。 # 事前準備 * バージョン管理ツールである[Gi...
linux の場合
$ ssh-keygen -t rsa

質問は全て enter で。

~/.ssh ディレクトリに2つのファイルが作成される。

id_rsa : 秘密鍵
id_rsa.pub : 公開鍵

サーバー側の設定

ssh サーバーの設定

  • 設定ファイルの該当する部分を変更する。
$ sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile   .ssh/authorized_keys .ssh/authorized_keys2
  • 再起動
$ sudo systemctl restart ssh

公開鍵の登録

  • ホームディレクトリに .ssh ディレクトリを作成
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
  • 作成した公開鍵(id_rsa.pub) を上記ディレクトリに保存
    ターミナルソフトのアップロード機能か scp を使用。

  • 公開鍵を authorized_keys へ追加

$ cd .ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ chmod 600 id_rsa.pub

接続テスト

$ ssh (ユーザー名)@(サーバーアドレス)

パスワードを聞かれずに接続されれば OK。

.ssh/config ファイルに以下の内容設定することで、接続名だけで簡単に接続できる。

$ ssh (接続名)
Host (接続名)
  User (ユーザー名)
  HostName (サーバーアドレス)
  IdentityFile ~/.ssh/id_rsa

host は複数書ける。

コメント

タイトルとURLをコピーしました