vps

いい加減覚えよう ssh-keygen

ssh-keygen -t ed25519 は、SSH(Secure Shell)用の鍵ペアを生成するコマンドです。このコマンドは、特に ed25519 というタイプの鍵を生成します。これはSSHでの認証に使われるもので、公開鍵認証方式の一つです。

SSHでの鍵認証とパスワード認証の違いについて詳しく:

鍵認証(Key-Based Authentication)

  1. セキュリティ: 鍵認証はパスワード認証よりも一般的に安全です。秘密鍵はユーザーのマシンにのみ存在し、公開鍵はサーバーに保存されます。
  2. 便利性: パスワードを入力する必要がないため、ログインが迅速で簡単になります。また、スクリプトや自動化システムにも適しています。
  3. 管理: 鍵は一度生成してしまえば、それを使って複数のサーバーへのアクセスを管理できます。
  4. 鍵の生成と使用: ssh-keygen コマンドを使用して鍵を生成し、公開鍵をサーバーにコピーします。接続時には秘密鍵が使われます。

パスワード認証(Password Authentication)

  1. セキュリティ: パスワードが弱い場合や頻繁に変更されない場合、攻撃者による推測や辞書攻撃のリスクがあります。
  2. 使用のしやすさ: 新しいユーザーや技術に不慣れなユーザーにとって、パスワードの方が直感的で理解しやすい場合があります。
  3. 管理: パスワードは定期的に変更する必要があり、多くのサーバーを管理する場合は、それぞれで異なるパスワードを使用することが推奨されます。
  4. 接続プロセス: ユーザー名とパスワードを入力してログインします。

比較

  • セキュリティ: 鍵認証の方がセキュリティが高い。
  • 便利性: 鍵認証は一度設定すればより便利で、自動化に適しています。
  • 設定の複雑さ: 鍵認証は設定がやや複雑ですが、一度設定すれば利便性が高まります。
  • 適用シナリオ: 鍵認証は管理者や経験豊富なユーザーに適しており、パスワード認証は初心者や小規模な環境に適しています。

一般に、セキュリティを重視する環境では鍵認証が推奨されます。特に、インターネットに公開されているサーバーでは、鍵認証の使用が強く推奨されます。

ということで小学生になったつもりでやってみよう。

$ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519):                 
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
  • .pub > 公開鍵
  • なにもついていない > 秘密鍵

小学校三年生くらいには成長したと思います。

$ mv id_ed25519.pub authorized_keys
$ chmod 600 authorized_keys

.sshについてはdrwx------だったので700でした。秘密鍵はみなさんお好きな手段でどうにかしてローカルに持っていきましょう。または、ローカルから持っていきましょう。

散々色々なsshクライアントに手を出してきたわたしは、今では Tabby と添い寝するくらい仲良くしています(要は寝落ち

今まで適当に動かしてたサーバーが、ずっとパスワード認証でrootログインOKだったんだけど、さすがにそれはマズいと思って反省してます。ます。もうそんなサーバーはどこにも存在していません。

Tagged ,

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です