SCP 명령이 계속 비밀번호를 묻습니다.

SCP 명령이 계속 비밀번호를 묻습니다.

나는 며칠 동안 이 문제로 어려움을 겪고 있는데 내가 뭘 잘못하고 있는지 찾을 수 없습니다.

VPS 서버에 웹사이트가 있습니다. 매일 밤 데이터베이스를 백업합니다. 내 VPS 서버에 저장됩니다. 또한 집에 있는 NAS(Synology DS214play)로 복사본을 보내고 싶습니다. 두 서버 모두 Linux에서 실행되고 있습니다.

그래서 저는 VPS 서버에 (루트로) 로그인하고 ssh-keygen.

내 VPS에서는 다음과 같습니다.

[root@vps /]# cd ~
[root@vps ~]# ls -alh
dr-xr-x---.  7 root root 4.0K Jun 25 18:58 .
dr-xr-xr-x. 24 root root 4.0K Jun 25 19:33 ..
drwx------   3 root root 4.0K Jun 25 20:29 .ssh
[root@vps ~]# cd .ssh
[root@vps .ssh]# ls -alh
drwx------  3 root root 4.0K Jun 25 20:29 .
dr-xr-x---. 7 root root 4.0K Jun 25 18:58 ..
-rw-------  1 root root 1.7K Jun 26 07:27 id_rsa
-rw-r--r--  1 root root  403 Jun 26 07:27 id_rsa.pub
-rw-------  1 root root  394 Jun 25 20:29 known_hosts

그런 다음 다음 명령을 사용하여 파일을 NAS에 복사했습니다.ssh-copy-id

admin@NAS:/$ cd ~
admin@NAS:~$ ls -alh
drwxrwxrwx  6 admin users 4.0K Jun 26 07:28 .
drwxrwxrwx 13 root  root  4.0K Jun 21 20:57 ..
drwx------  2 admin users 4.0K Jun 26 07:28 .ssh
admin@NAS:~$ cd .ssh
admin@NAS:~/.ssh$ ls -alh
drwx------ 2 admin users 4.0K Jun 26 07:28 .
drwxrwxrwx 6 admin users 4.0K Jun 26 07:28 ..
-rw------- 1 admin users  403 Jun 26 07:27 authorized_keys

를 살펴보니 VPS/id_rsa.pubNAS/authorized_keys키가 모두 동일하다는 것을 알았습니다.

이제 다음을 사용하여 VPS에서 NAS로 테스트 파일을 복사하려고 합니다.

[root@vps /]# scp -i ~/.ssh/id_rsa /test.txt admin@___.___.___.___:/volume1/SQL_backup

그러나 이로 인해 쉘은 (매번) 비밀번호를 묻게 됩니다.

왜 계속 패스를 주어야 하나요?

답변1

데몬 문제를 해결할 때는 항상 시스템 로그를 확인해야 합니다.
이 특별한 경우 호스트의 시스템 로그를 확인하면 NAS다음과 유사한 내용이 표시됩니다.

Authentication refused: bad ownership or modes for directory /home/admin

문제는 다음 출력에 표시됩니다.

admin@NAS:~$ ls -alh
drwxrwxrwx  6 admin users 4.0K Jun 26 07:28 .

authorized_keys보안상의 이유로 SSH는 ~/.ssh사용자 또는 루트(조상은 /home/user/.ssh, /home/user, /home, 를 의미)가 아닌 다른 사람이 디렉토리의 상위 항목에 쓸 수 있는 경우 /파일 사용을 거부합니다 . 이는 다른 사용자가 ~/.ssh디렉터리(또는 파일)를 자신의 디렉터리(또는 파일)로 바꾼 ~/.ssh/authorized_keys다음 SSH를 통해 해당 사용자에 로그인할 수 있기 때문입니다.

이 문제를 해결하려면 다음과 같이 디렉터리의 권한을 변경하세요.

chmod 755 ~

답변2

개인 키를 생성할 때 개인 키에 대한 비밀번호를 생성할 수 있습니다 ssh-keygen.

제가 사용하는 워크플로는 다음과 같습니다.

  1. ssh-keygen
  2. ssh-copy-id root@remote_host
  3. scp /test.text root@remote_host:/opt/application/

관련 정보