0
0

More than 1 year has passed since last update.

sshをパスワードなしでやりたい!

Last updated at Posted at 2023-05-16

sshするときに毎回パスワードを求められて、入力するのがめんどくさくなったので、公開鍵認証を用いてパスワードを入力することなくsshが行えるようにしました。

公開鍵認証のポイント

公開鍵認証のポイントは、パスワード認証とは違って、認証に必要な秘密情報(この場合は秘密鍵)そのものはネットワーク上に送出されないという点です。また認証に使われる署名は一時的なものであり、再利用はできないため、署名そのものを盗んでも意味がありません。そのためパスワード認証に比べ、通信の盗聴に強いと言えるでしょう。また仕組み上、秘密鍵を推測して偽造することは非常に困難です。こうした理由により、公開鍵認証を採用することで、パスワード認証よりもセキュリティレベルを上げることができるのです。
(引用)ニフラク.“SSH公開鍵認証とは”. ニフラク. 2022/3/29.
https://pfs.nifcloud.com/navi/words/ssh.htm, (2023/05/17)

秘密鍵と公開鍵作成する

パスワードの代わりに公開鍵を使って認証をします。そのため、まずは秘密鍵と公開鍵を生成します。
初めにhomeディレクトリに.sshのディレクトリが存在するかどうかを確認してください。
もし存在しない場合は作成してください。
その後.sshに移動してください。

次に以下のコマンドをターミナルで実行してください。

ssh-keygen -t ed25519 -C "your_email@example.com"

このコマンドは秘密鍵と公開鍵を作成するコマンドです。
実行するといくつかのことを聞かれますので対応をしていきます。
一つ目の質問ではどこになんて名前で保存するかを聞かれます。わかりやすい名前をつけることをお勧めします。ここで何も入力せずに進むと.sshのディレクトリの中にid_ed25519という名前で作成されます。
なおこれ以降の説明ではid_ed25519この名前を使って説明をしていきます。

二つ目の質問ではパスワードをどうするかを聞かれます。ここは何も入力せずに進んでください。
三つ目は二つ目と同じパスワードを入れてくださいと言われますので、そのまま何も入力せずに進んでください。

これで秘密鍵と公開鍵が作成されました。
.sshのディレクトリの中を確認するとid_ed25519id_ed25519.pubが作成されていると思います。
名前を変えた場合は変えた名前の鍵が代わりに作成されていると思います。
ここで注意ですがこちらのid_ed25519は秘密鍵なので漏らさないようにしてください。

念の為ですが公開鍵のパーミッションを600にしておきましょう。

chmod 600 id_ed25519.pub

公開鍵をログイン先サーバーに登録する

手元の環境の.sshconfigファイルを作成してください。
configの中に以下のように記述してください。

Host お好きなホスト名
  HostName xxx.xxx.xxx.xxx
  User ユーザー名
  StrictHostKeyChecking yes
  PasswordAuthentication no
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519
  IdentitiesOnly yes

公開鍵をログイン先に転送します。
ローカルの公開鍵をログイン先のサーバーにコピーします。

ssh-copy-id -i id_ed25519 ユーザ名@xxx.xxx.xxx.xxx

これでログイン先のサーバーにコピーされたはずです。
次に今コピーしたid_ed25519.pubの名前を以下のようにしてください。
authorized_keys

これでsshをするとパスワードを聞かれることがなく快適にログインができるようになったと思います。

ssh お好きなホスト名

参考

https://pfs.nifcloud.com/navi/words/ssh.htm
https://zenn.dev/noraworld/articles/ssh-rsa-sha1-disabled

0
0
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
0
0