SSHキーとパスワードなしのログイン
Ansibleが接続できるよう鍵ベース認証を設定します
「SSHキーとパスワードなしのログイン」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
AnsibleはSSHを使う
Ansibleは通常のSSHを使って管理対象ノードに接続します。サーバーにSSH接続できるなら、ほぼ確実にAnsibleでも管理できます。
パスワードなしが重要な理由
すべてのホストでパスワードを入力する方法は、台数が増えると対応できません。SSHキーを使えば、プロンプトなしでAnsibleから何百台ものサーバーにログインできます。
キーペア
SSHキーはペアで構成されます。秘密にしておく秘密鍵と、共有する公開鍵です。公開鍵を各サーバーに配置します。
キーを生成する
ssh-keygenでキーペアを作成します。ed25519タイプは、ノードへの接続に適した、現代的で高速かつ安全な方式です。
ssh-keygen -t ed25519 -C "ansible"2つのファイルが作成される
これでid_ed25519(秘密鍵。厳重に管理してください)とid_ed25519.pub(公開鍵。共有可能)が作成されます。秘密鍵をサーバーにコピーしてはいけません。
公開鍵をコピーする
ssh-copy-idを使って、公開鍵をサーバーに送ります。そのホストのauthorized_keysファイルに鍵を追加する処理を自動で行います。
ssh-copy-id user@web1.example.comログインをテストする
次にホストへSSH接続します。パスワードを求められずにログインできれば、鍵ベースの認証が機能しており、Ansibleでも接続できます。
ssh user@web1.example.comremote_user
Ansibleは特定のremote_userとして接続します。そのユーザーがノードに存在し、公開鍵が認証済みであることを確認してください。
ssh-agent
キーをパスフレーズで保護していますか?ssh-agentを起動してssh-addを1回実行すると、Ansibleがセッション中ずっと解除済みのキーを再利用できます。
ssh-add ~/.ssh/id_ed25519ホストごとの設定
~/.ssh/configでは、ホストごとにユーザー、ポート、キーを設定できます。Ansibleもこの設定を使用するため、インベントリをすっきり保てます。
鍵認証はパスワードに勝ります
鍵ベースの認証は、パスワードより安全で高速です。一度設定すれば、Ansibleを管理対象全体で何も操作せずに実行できます。🔑
確認テスト
SSHの理解度を確認します。
まとめ
SSH鍵ペアを生成し、ssh-copy-idで公開鍵を配置して、パスワードなしでログインできることを確認しました。これでAnsibleはすべてのノードに手動操作なしで接続できます。🎉
よくある質問
「SSHキーとパスワードなしのログイン」レッスンは無料ですか?
はい。「SSHキーとパスワードなしのログイン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「SSHキーとパスワードなしのログイン」で何を学びますか?
Ansibleが接続できるよう鍵ベース認証を設定します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「SSHキーとパスワードなしのログイン」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Ansibleコントロールノードのインストール
- SSHキーとパスワードなしのログイン
- ansible.cfg:適切なデフォルト設定
- pingモジュールでホストにPingする