Solaris サーバーから Linux サーバーにファイルを scp する Solaris スクリプト

Solaris サーバーから Linux サーバーにファイルを scp する Solaris スクリプト

いくつかの .xml ファイル (期間: 2016 年 4 月から 5 月) を Solaris サーバー (サーバー A) から Linux サーバー (サーバー B) に scp する必要があります。Solaris サーバーは、スクリプトが記述され実行されるホーム ディレクトリです。

私はこれについて以下のスクリプトを書きました。

#!/bin/sh

ssh [email protected] touch --date "2016-04-01" /tmp/start.tmp
ssh [email protected] touch --date "2016-05-31" /tmp/end.tmp

for i in `find /home/hs/demo*.xml -type f -newer /tmp/start.tmp -not -newer /tmp/end.tmp`
do
scp [email protected]:$i [email protected]:/data/Output
done

しかし、サーバー A からスクリプトを実行すると、パスワードの入力を求められます (Solaris が人間の介入なしにファイルを自動的に scp する必要があるため、これは発生してほしくありません)

また、scp を実行するために、Solaris サーバー (サーバー A - 10.20.14.49) でコマンド「ssh-keygen -t rsa」を使用してキーを作成し、公開キーを Linux サーバー (サーバー B - 10.24.21.11) にコピーしました。

しかし、サーバーAからスクリプトを実行した後もパスワードの入力を求められるので、サーバーAの/home/hs/.sshの下の設定ファイル、その内容は以下の通りです:-

Host oa
User dev
HostName 10.24.21.11
IdentityFile ~/.ssh/my_ssh_key

しかし、Solaris (サーバー A) はまだパスワードを求めています。

答え1

代わりに次のコマンドを使用することができます:

ssh コピー ID[メールアドレス]

これにより、公開キーがリモート サーバーに転送され、承認されたキーのプロセスが処理されます。

関連情報