SSH鍵認証と設定ファイル
鍵ペアを使ったパスワードなしのSSHを設定し、個人用のSSH設定ファイルで接続を効率化します。
「SSH鍵認証と設定ファイル」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
鍵ベース認証を使う理由
SSH鍵はパスワードを暗号学的な鍵ペアに置き換えます。より安全で、パスワードなしの自動化可能なログインを実現できます。
- 秘密鍵は自分のマシンに保管します
- 公開鍵はサーバーにコピーします
鍵ペアを生成する
ssh-keygenを使用して、最新のEd25519鍵ペアを作成します。秘密鍵と、それに対応する.pub公開鍵が生成されます。
ssh-keygen -t ed25519 -C "you@example.com"鍵の保存場所
鍵はデフォルトでは~/.ssh/に保存されます。秘密鍵は秘密にしておく必要がありますが、公開鍵は共有できます。
ls -l ~/.ssh/公開鍵をサーバーにコピーする
ssh-copy-idを使うと、公開鍵をサーバーのauthorized_keysに1ステップで追加できます。
ssh-copy-id user@server.example.com鍵を手動でインストールする
ssh-copy-idを使用できない場合は、公開鍵をリモートのauthorized_keysファイルに手動で追加してください。
cat ~/.ssh/id_ed25519.pub | ssh user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"適切な権限設定が重要
SSHは、権限が緩すぎる鍵を拒否します。.sshディレクトリは700、鍵ファイルは600に設定してください。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519鍵を使って接続する
公開鍵をインストールすると、ssh user@hostでパスワードなしにログインできます。特定の鍵を選ぶには-iを使用します。
ssh -i ~/.ssh/id_ed25519 user@server.example.comパスフレーズで鍵を保護する
パスフレーズはディスク上の秘密鍵を暗号化します。ssh-agentがパスフレーズをキャッシュするため、セッションごとに1回入力するだけで済みます。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519SSH設定ファイル
~/.ssh/configにはホストごとの設定を保存できます。長いコマンドラインの代わりに、短いエイリアスで接続できるようになります。
# ~/.ssh/config
Host web
HostName 203.0.113.10
User deploy
Port 2222
IdentityFile ~/.ssh/id_ed25519設定エイリアス経由で接続する
上記のブロックを設定すると、ssh webですべてのオプションが自動的に適用されます。
ssh web便利な設定オプション
設定ファイルでは、接続を維持する設定など、多くのオプションを利用できます。
ServerAliveInterval 60はアイドル状態のセッションを開いたままにしますForwardAgent yesはエージェントを転送します
Host *
ServerAliveInterval 60
ServerAliveCountMax 3理解度チェック
SSH鍵についての理解度を確認します。
まとめ
安全なSSHアクセスを設定しました。
ssh-keygen -t ed25519で鍵ペアを生成しますssh-copy-idで公開鍵をインストールします- 権限を厳格に設定します(700/600)
~/.ssh/configのホストエイリアスでログインを簡単にします
よくある質問
「SSH鍵認証と設定ファイル」レッスンは無料ですか?
はい。「SSH鍵認証と設定ファイル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「SSH鍵認証と設定ファイル」で何を学びますか?
鍵ペアを使ったパスワードなしのSSHを設定し、個人用のSSH設定ファイルで接続を効率化します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「SSH鍵認証と設定ファイル」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。