パスワードプロンプトなしでの1つのサーバーから別のサーバーへのSCP


19

scpパスワードを要求せずに、あるボックスから別のボックスに行う最良の方法は何ですか?

2つのサーバーがあります。

  • サーバーA(10.152.2.10): /home/oracle/export/files.txt

  • サーバーB(10.152.2.11): /home/oracle/import/

scpパスワードの入力を求められることなく、サーバーAからサーバーBにファイルを転送する場合

[これをサーバーAから実行/home/oracle/export/]

scp files.txt oracle@10.152.2.11:/home/oracle/import

これにより、コマンドの入力時にパスワードの入力が求められます。

keygenを生成してサーバーAにコピーする必要があることを理解しています。したがって、[サーバーAで]:

ssh-keygen -t rsa

これにより、/home/oracle/.ssh次の2つのファイルが保存されます。

id_rsa
id_rsa.pub

1. 2つのファイル(id_rsaid_rsa.pub)をサーバーB にコピーすることになっています/home/oracle/.sshか?

これについていくつかのグーグル検索を行っている間、いくつかの記事はこれをauthorized_keysへの追加/連結について言及しました。

2.自分でこのファイルを作成することになっていますか?

私はこれを行う正しい方法が何であるかについて混乱しているようです。

ところで、2台のサーバーはSuse Linux Enterprise Edition 9を実行しています...


1
「キーチェーン」を試してください: gentoo.org/proj/en/keychain

回答:


16
  1. いいえ、あなたid_rsaは自分を守ります。ただし、id_rsa.pub公開鍵であるは、アクセスしたいサーバーにコピーされる場合があります。それらをの最後に連結します~/.ssh/authorized_keys
  2. はい、~/.ssh/authorized_keysまだ作成されていない場合は作成できます。それ以外の場合は、を使用してファイルの最後に追加しますcat id_rsa.pub >>~/.ssh/authorized_keys

11

また、これをすべてソートするツールがありますssh-copy-id

authorized_keysファイルに対して実行中のキーがある場合はエージェントにキーを追加し、適切な権限を持つキーが存在しない場合は作成します。エージェントを実行していない場合は、プッシュするキーを指定できます-issh-copy-id -i ~/.ssh/id_rsa


5

また、さまざまなファイルとディレクトリの権限を確認する必要があります。

authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744

あなたのホームディレクトリは、あなた以外の誰からも書き込み可能ではいけません。


0

生成されssh-keygenたキーを構成しても、パスワードレス転送が機能しない場合は、以下のように冗長モードコマンドでソースマシンで使用されている公開キーを確認します。

sftp -v -oPort=22 userid@server

通常、それはを/home/<user>/.ssh/id_rsa.pub 使用して生成したものとは異なるかもしれない公開鍵を指しますssh-keygenid_rsa.pub宛先サーバーでこれを追加する必要があります。


0

私は次のことをします:

クライアント上:

ssh-keygen -t rsa
ssh-copy-id oracle@10.152.2.11

これにより、クライアントからサーバーにキーがコピーされます。キーをリングに追加するには、サーバーのパスワードが必要になります。

  • パスワード認証はオンにするか、キーファイルをサーバーに手渡しする必要があります。

サーバー上:

少なくとも、パスワード認証をオフにします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.