0Pricing
DevOps Bootcamp · レッスン

SSHキーとパスワードなしのログイン

Ansibleが接続できるよう鍵ベース認証を設定します

「SSHキーとパスワードなしのログイン」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全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.com

remote_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チューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「SSHキーとパスワードなしのログイン」で何を学びますか?

Ansibleが接続できるよう鍵ベース認証を設定します ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「SSHキーとパスワードなしのログイン」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Ansibleコントロールノードのインストール
  2. SSHキーとパスワードなしのログイン
  3. ansible.cfg:適切なデフォルト設定
  4. pingモジュールでホストにPingする
← DevOps Bootcampに戻る