2013-07-31 6 views
0

나는 데이터베이스의 덤프를 만드는 데 사용되는 스크립트를 가지고 있고 우분투 서버에서 Linux 컴퓨터로 파일을 전송할 때마다 파일 전송을 위해 scp를 사용하며 매번 암호를 묻는 메시지가 나타나고 자동화해야합니다 그것. 나는 그것이 scp라고 할 때 authorized_keys로서 리눅스의 Rsa 공개 키를 가지고 있었다. 퍼미션이 거부되었다. (publickey, gssapi-keyex, gssapi-with-mic, 패스워드)은 passwordAuthontication 등의 모든 권한을 체크했다. .SSH와 Ubuntu 파일 전송 자동화를위한 에이전트

스크립트에 암호를 쓰고 700 permissin을 제공하고 아무도 root 사용자를 제외한 누구도 액세스 할 수 없으므로 보안에 관계없이 암호를 쓸 수 있습니까?

export DB_DUMP_DIR=/home/database_dump 
export DB_NAME=database_name_$(date '+%Y_%m_%d').sql 

mysqldump -u root mysql > ${DB_DUMP_DIR}/${DB_NAME} 
if [ $? -eq 0 ];then 
scp -i /root/.ssh/id_rsa ${DB_DUMP_DIR}/${DB_NAME} [email protected]: 
else 
    echo "Error generating database dump" 
fi 

답변

0

마음에 와서 첫 번째 일이

  • 이 서버가 키 인증의 인증을 허용하도록 설정되어 있습니다 :

    이 내 스크립트입니다? (PubkeyAuthentication yes : sshd_config)

  • 서버가 RSA 키를 허용합니까? (귀하의 sshd_configRSAAuthentication no처럼 보일 수 있습니다.)
  • 루트의 ~/.ssh 디렉토리가 700으로 설정되어 있습니까? (또는 더 단단한)
  • 루트의 ~/.ssh/authorized_keys이 600으로 설정 되었습니까? (또는 더 단단한)
  • 원격 컴퓨터에서 루트로 로그인 할 수 있습니까? (PermitRootLogin no 옵션은 sshd_config입니다.)
  • 정말 여기에 보내는 키가 있습니까? 이것을 테스트하기 위해 만든 다른 키로 시도 했습니까?

마지막으로, 암호를 스크립트에 쓰는 것이 결코 바람직하지 않습니다. 그냥하지 마. 대신 여기에서 키 인증과 관련된 문제점을 수정하십시오.