SSH 키 권한 chmod 설정?

SSH 키 권한 chmod 설정?

내 웹 사이트와 해당 데이터베이스에 액세스하려면 내 컴퓨터에서 SSH를 사용해야 합니다(심볼릭 링크를 설정했지만 빗나갔습니다).

다음과 같은 문제가 발생합니다

다음 명령을 입력합니다.

ssh-keygen -t dsa

공개/개인 DSA 키 쌍을 생성합니다. 저는 기본값( )으로 저장 /home/user/.ssh/id_dsa하고 Enter passphrase를 두번 입력했습니다.

그러면 나는 이것을 얻습니다:

WARNING: UNPROTECTED PRIVATE KEY FILE!  
Permissions 0755 for '/home/etc.ssh/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: [then the FILE PATH in VAR/LIB/SOMEWHERE]

이제 이 문제를 해결하기 위해 시도했습니다.

sudo chmod 600 ~/.ssh/id_rsa         sudo chmod 600 ~/.ssh/id_rsa.pub    

그러나 컴퓨터가 정지된 직후에 다시 로그인했을 때 could not find .ICEauthority error.

문제를 해결하고 SSH 파일을 삭제했지만 앞으로는 이러한 문제를 피하기 위해 올바른 권한을 사용할 수 있기를 바랍니다.

ICEauthority를 ​​어떻게 설정해야 합니까, SSH 키를 어디에 저장해야 합니까, 또는 어떤 권한을 가져야 합니까? 가상 머신을 사용하는 것이 가장 좋나요?

이것은 모두 매우 새롭고 학습 곡선이 매우 가파르기 때문에 도움을 주시면 감사하겠습니다.

답변1

chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub(즉 chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub)이 맞습니다.

chmod 644 ~/.ssh/id_rsa.pub(즉 chmod a=r,u+w ~/.ssh/id_rsa.pub)도 참이지만 chmod 644 ~/.ssh/id_rsa(즉 chmod a=r,u+w ~/.ssh/id_rsa)은 그렇지 않습니다. 공개 키는 공개될 수 있지만 중요한 것은 개인 키가 비공개라는 것입니다.

또한 .ssh디렉터리 자체는 다음 사용자만 쓸 수 있어야 합니다. chmod 700 ~/.ssh또는 chmod u=rwx,go= ~/.ssh. 물론 이를 읽고 그 안에 있는 파일에 액세스할 수 있어야 합니다(실행 권한). 다른 사람이 읽을 수 있다면 직접적으로 해롭지는 않지만 그다지 유용하지도 않습니다.

당신은 필요하지 않습니다 sudo. sudo자신의 파일을 조작하는 데 사용하지 마십시오 . 오류만 발생할 수 있습니다.

오류는 표시된 명령과 관련이 없습니다 .ICEauthority. chmod우연의 일치이거나 우리에게 표시되지 않은 다른 명령을 실행했습니다.

답변2

    # Set public/private key permissions

    # Octal form
    chmod 600 ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_rsa.pub

    # Equivalent literal form
    chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub

    # Optional: make public key readable
    chmod 644 ~/.ssh/id_rsa.pub # chmod a=r,u+w ~/.ssh/id_rsa.pub

    # Set directory permissions
    chmod 700 ~/.ssh # chmod u=rwx,go= ~/.ssh

    # Legend for literal form
    # +: allow       -: deny         =: reset and allow
    # u: user        r: read
    # g: group       w: write
    # o: others      x: execute
    # a: all

관련 정보