Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.
  • クライアント:Mac
  • サーバー: LInux(Ubuntu)

を用いて、公開鍵と秘密鍵の生成から公開鍵暗号でのSSH接続までのまとめです。

公開鍵と秘密鍵の生成

RSA暗号の鍵を生成する場合は、オプションで -t rsa を入力します。

$ ssh-keygen -t rsa

これで、~/.ssh/ ディレクトリに id_rsa (秘密鍵)と id_rsa.pub (公開鍵)が生成されていることがわかるかと思います。

※ SSH秘密鍵のパスフレーズをつけるべきかどうかについては下記記事が参考になりました。
SSH秘密鍵のパスフレーズは(つけるなら)11文字以上にしましょうねという話 - 本当は怖い情報科学

サーバーに公開鍵を渡す

サーバーの .ssh/authorized_keys に、先ほど作成した id_rsa.pub を渡します。

$ scp -P 22 ~/.ssh/id_rsa.pub <ユーザ名>@<IPアドレス>:~/.ssh/authorized_keys

パーミッションの変更

クライアント側、サーバ側ともにパーミッションを変更します。

# クライアント側
$ chmod 700 ~/.ssh

# サーバ側
$ chmod 600 ~/.ssh/authorized_keys

※ ここのパーミッション設定を正しく行わないと公開鍵認証でのSSH接続がうまく機能しないみたいなので要注意

※ パーミッションについては下記も参照
パーミッションの考え方について毎回よく分からなくなるからまとめ

接続確認

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

秘密鍵生成時にパスフレーズを作成している場合はここで尋ねられるので、入力すると接続されるはずです。

SSHのパスワード認証を禁止する

公開鍵認証を設定したのでパスワード認証を禁止しましょう。

# サーバ側で下記ファイルを編集
$ sudo vi /etc/ssh/sshd_config

# 編集内容
ChallengeResponseAuthentication no
PasswordAuthentication no


# 編集後にsshdをリスタートする(Ubuntuの場合)
$ sudo /etc/init.d/ssh restart

参考情報

参考にさせていただきました。
ありがとうございました!!
公開鍵認証によるSSH接続 - Macターミナルの使い方 - Linux入門 - Webkaru
ssh認証のための公開鍵と秘密鍵を生成する手順 【Mac】 | かわたま.net
Linux - ssh公開鍵認証設定まとめ - Qiita

creditengine
オンライン融資プラットフォームの企画・開発・運営を行っています。
https://www.creditengine.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away