Solaris 서버(서버 A)에서 Linux 서버(서버 B)로 일부 .xml 파일(2016년 4월~5월 기간)을 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에서 스크립트를 실행한 후 비밀번호를 묻는 메시지가 표시됩니다(사람의 개입 없이 자동으로 scp 파일을 생성하려면 Solaris가 필요하기 때문에 이런 일이 발생하고 싶지 않습니다).
그리고 scp를 수행하기 위해 Solaris 서버(서버 A-10.20.14.49)에서 "ssh-keygen -t rsa" 명령을 사용하여 키를 생성하고 공개 키를 Linux 서버(서버 B- 10.24.21.11)에 복사했습니다.
하지만 여전히 서버 A에서 스크립트를 실행한 후에도 비밀번호를 묻는 메시지가 표시되므로/home/hs/.ssh 아래 서버 A의 구성 파일, 아래 내용은 다음과 같습니다.
Host oa
User dev
HostName 10.24.21.11
IdentityFile ~/.ssh/my_ssh_key
하지만 여전히 Solaris(서버 A)에서는 비밀번호를 묻는 메시지를 표시합니다.