이 질문은 이미 여러 번 요청되었지만 솔루션이 저에게 적합하지 않습니다.
Ubuntu 시스템의 키를 사용하여 Synology NAS로 SSH를 시도하고 있지만 개인 키가 너무 공개되어 있기 때문에 여전히 사용자 비밀번호를 묻는 메시지가 나타납니다.
/opt/duplicati/config/.ssh id_rsa 및 id_rsa.pub에 키를 생성했습니다.
그런 다음 ssh-copy-id를 사용하여 공개 키를 NAS에 복사했습니다.
하지만 NAS에 SSH로 접속하려고 하면 이런 메시지가 나타납니다.
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa.pub '[email protected]'
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/opt/duplicati/config/.ssh/id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/opt/duplicati/config/.ssh/id_rsa.pub": bad permissions
[email protected]'s password:
개인키와 관련된 문제가 이상한데, 공개키에 대한 0644 권한이 너무 개방적이라고 불평합니다.
이에 대한 해결책은 두 키와 .ssh 폴더에 대한 권한을 0400 또는 0600으로 줄이는 것입니다. 하지만 그렇게 하면 ssh가 더 이상 파일을 읽을 수 없는 것 같고 이 오류가 발생합니다.
Load key "/opt/duplicati/config/.ssh/id_rsa.pub": error in libcrypto
나는 이미 루트와 관리자로 이것을 시도했지만 작동시킬 수 없습니다.
내 키가 일반적인 홈 폴더 ~/.ssh/에 없기 때문입니까?
다른 우분투 시스템에서 ~/.ssh/에 저장된 키를 사용하여 NAS에 SSH로 연결할 수 있었습니다.
답변1
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa.pub '[email protected]'
실제 문제는 "-i" 매개변수에 잘못된 키 파일을 사용하고 있다는 것입니다. ".pub" 확장자를 가진 파일에는 키의 공개 부분이 포함되어 있습니다. ".pub" 확장자가 없는 해당 파일에는 키의 비공개 부분이 포함되어 있습니다. SSH 클라이언트를 실행하여 원격 서버에 연결하는 경우 공개 키 파일이 아닌 개인 키 파일을 SSH 클라이언트에 제공해야 합니다.
".pub" 확장명이 없는 "/opt/duplicati/config/.ssh/id_rsa"라는 파일이 있을 수 있습니다. SSH를 실행할 때 사용해야 하는 파일은 다음과 같습니다.
ssh -p '9922' -i /opt/duplicati/config/.ssh/id_rsa '[email protected]'
^--- no extension
개인 키 파일에는 민감한 정보가 포함되어 있으므로 권한에 대한 오류가 발생합니다. 따라서 ssh
프로그램에서는 개인 키 파일에 다른 사람이 읽을 수 없도록 하는 권한이 있어야 합니다. 공개 키 파일(확장자가 ".pub"인 파일)에는 민감한 정보가 포함되어 있지 않으므로 키 파일을 생성하는 도구는 덜 엄격한 권한으로 공개 키 파일을 생성합니다.