AとBの2つのLinuxマシンがあります。Aで実行されるスクリプトは、BにSSH接続できる必要があります。したがって、Aは公開キー(おそらくssh-keygenで生成されたid_rsa.pub)を生成し、それぞれの秘密キー(再び、おそらくid_rsa)そのSSH接続を確立します。
上記の内容が間違っていたり、誤解されている場合は、修正してください。
私は多かれ少なかれターゲットにいると仮定します:
ええ
ただし、AがBに接続できるようにするには、BがAの公開鍵をBのauthorized_keysファイルにリストする必要があります
また、id_rsa.pubとsshをBに削除しても機能します。公開鍵は各ssh接続で新しく生成され、id_rsa.pubに保存されないためです。
Aはどのようにして公開鍵(id_rsa.pub)を「与える」のですか?これは手動プロセスである必要がありますか、それとも自動化できますか?手動の場合、プロセスは何ですか?自動化されている場合、コマンドは何ですか?
マニュアル -のようなもの
から-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
またはさらに手動で、コマンドを分解する
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
その後、Bで〜/ .sshが存在することを確認してから cat a.a >> ~/.ssh/authorized_keys
また、Bのauthorized_keysを前後にcatして、キーがリストされていることを確認できます。
または、id_rsa.pubをメールアカウントにメールで送信し、BからBがメールを確認して、id_rsa.pubのコンテンツをauthorized_keysファイルに追加できます。
自動的に
ssh-copy-idコマンド
sshできるようにする必要があるため、パスワードアクセスが必要です。
ssh user @ hostを実行する代わりに、ssh-copy-id user @ hostを実行し、パスワードの入力を求められます。パスワードを入力すると、公開鍵がコピーされます。そして、次にssh user @ hostを実行すると、キーが使用されます。
Bがこの公開鍵を「取得」すると、どこに保存されますか?
Bの〜/ .ssh / authorized_keys
BへのSSH接続を開始するとき、Aはその接続の一部としてどのように秘密鍵(id_rsa)を「使用」しますか?
まあ、私はそれについてあまり知りません、私の頭の上のものですが、1つのキーで暗号化されたものは他のキーで復号化でき、自分を識別することはデータを送信することとは少し異なります。一時キーについても。