概要
sshd サーバーで公開鍵認証をするための設定方法。
環境
- Server
- Debian 10 Buster / Raspbian 10 Buster
- Client
- Windows 10 Pro
手順
クライアント側の作業
キーペアの作成
Windows の場合
下記の記事を参照。
WindowsでSSHの鍵を作る - Qiita
これは何?WindowsでSSHの秘密鍵を生成した方法を記録したものGitをインストールすると、ssh-keygenのexeがあるのでそれを利用して、鍵を作る。事前準備バージョン管理ツールで…
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 は複数書ける。
コメント