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 .

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

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

chmod 755 ~

답변2

.ssh-keygen

다음은 내가 사용하는 워크플로입니다.

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

관련 정보