질문자 :Yannick Schall
더 이상 디스크에 어떤 종류의 파일도 저장할 수 없는 Mac에 문제가 있었습니다. OSX lion을 재부팅하고 파일 및 acls에 대한 권한을 재설정해야 했습니다.
그러나 이제 저장소를 커밋하려고 할 때 ssh에서 다음 오류가 발생합니다.
Permissions 0777 for '/Users/username/.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.
id_rsa 파일에 어떤 권한 수준을 부여해야 합니까?
키는 본인만 읽을 수 있어야 합니다.
chmod 400 ~/.ssh/id_rsa
키를 읽고 쓸 수 있어야 하는 경우:
chmod 600 ~/.ssh/id_rsa
600 도 괜찮은 것 같습니다(사실 대부분의 경우 나중에 편집하기 위해 파일 권한을 변경할 필요가 없기 때문에 더 좋습니다).
맨페이지의 관련 부분( man ssh
)
~/.ssh/id_rsa Contains the private key for authentication. These files contain sensitive data and should be readable by the user but not accessible by others (read/write/execute). ssh will simply ignore a private key file if it is accessible by others. It is possible to specify a passphrase when generating the key which will be used to encrypt the sensitive part of this file using 3DES. ~/.ssh/identity.pub ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Contains the public key for authentication. These files are not sensitive and can (but need not) be readable by anyone.
quickshiftinWindows 8.1에서 Cygwin을 사용하려면 다음 명령을 실행해야 합니다.
chgrp 사용자 ~/.ssh/id_rsa
그런 다음 여기에 게시된 솔루션을 적용할 수 있습니다. 400 또는 600은 괜찮습니다.
chmod 600 ~/.ssh/id_rsa
참조: http://vineetgupta.com/blog/cygwin-permissions-bug-on-windows-8
tanza9Windows 8.1에서 작동하는 로케일 독립적 솔루션은 다음과 같습니다.
chgrp 545 ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa
GID 545는 로캘에서 사용자에 대해 다른 단어를 사용하더라도 항상 '사용자' 그룹을 참조 하는 특수 ID입니다.
thehouse내 Windows 10에서 오류가 발생하여 다음과 같이 권한을 설정하고 작동합니다.
세부적으로는 'SYSTEM'과 'Administrators'만 남을 때까지 다른 사용자/그룹을 제거합니다. 그런 다음 읽기 권한으로 Windows 로그인을 추가하십시오.
id_rsa
파일은 c:\users\<username>
폴더 아래에 있습니다.
Supawat PusavannoDevin CeartasAFAIK 값은 다음과 같습니다.
키 파일이 있는 숨겨진 디렉토리 ".ssh"의 경우 700
키 파일 "id_rsa"의 경우 600
ajaaskelAWS에서 Ubuntu EC2로의 Windows 10 ssh "권한이 너무 열려 있습니다" 오류
AWS의 .pem 파일을 사용하여 Ubuntu EC2 인스턴스로 ssh를 시도하는 중에 이 문제가 발생했습니다.
Windows에서 이 키를 .ssh 폴더 아래에 생성된 폴더에 넣으면 작동했습니다.
C:\Users\USERNAME\.ssh\private_key
Windows 10에서 권한 설정을 변경하려면:
파일 설정 > 보안 > 고급
상속 비활성화
상속된 권한을 명시적 권한으로 변환
관리자를 제외한 모든 권한 항목 제거
그러면 안전하게 연결할 수 있습니다.
lm5050400 권한을 제공하고 아래 명령을 실행하십시오.
chmod 400 /Users/username/.ssh/id_rsa
Sujit Dhamale키에 대한 "0x00" 권한 요구 사항에는 한 가지 예외가 있습니다. 루트가 키를 소유하고 사용자가 있는 그룹이 그룹을 소유하는 경우 "0440"이 될 수 있으며 해당 그룹의 모든 사용자가 키를 사용할 수 있습니다.
나는 이것이 "0xx0" 세트의 모든 권한에서 작동할 것이라고 생각하지만 모든 버전에서 모든 조합을 테스트하지는 않았습니다. CentOS 6에서 5.3p1-84로 0660을 시도했으며 그룹은 사용자의 기본 그룹이 아니라 보조 그룹이며 제대로 작동합니다.
이것은 일반적으로 누군가의 개인 키에 대해 수행되지 않지만 애플리케이션이 키를 엉망으로 만들 수 없도록 하는 상황에서 자동화에 사용되는 키에 대해 수행됩니다.
.ssh 디렉토리 제한 사항에도 유사한 규칙이 적용됩니다.
syberghostWindows 10에서 cygwin의 chmod 및 chgrp로는 충분하지 않았습니다. 파일 -> 속성 -> 보안(탭)을 마우스 오른쪽 버튼으로 클릭하고 활성 사용자를 제외한 모든 사용자와 그룹을 제거해야 했습니다.
Jared Beach이것이 나를 위해 일한 것입니다 (Mac에서)
sudo chmod 600 path_to_your_key.pem
그 다음에 :
ssh -i path_to_your_key user@server_ip
도움이 되기를 바랍니다.
lansanalsmWindows 사용자 전용. Goto 파일 속성 --> 보안 --> 고급
- 상속 속성 비활성화
- 상속된 권한을 명시적 권한으로 변환합니다.
- 관리자를 제외한 모든 권한 항목을 제거하십시오.
Vasu이 명령을 입력하여 문제를 해결하십시오.
chmod 600 ~/.ssh/id_rsa
deepu kumar singh나를 위해 일한 것
chgrp 사용자 폴더
chmod 600 폴더
Jerome Ansia나를 위해 (Windows 용 Ubuntu 하위 시스템 사용) 오류 메시지가 다음과 같이 변경되었습니다.
Permissions 0555 for 'key.pem' are too open
chmod 400을 사용한 후. 루트를 기본 사용자로 사용하는 것이 이유였습니다.
cmd를 사용하여 이것을 변경하십시오.
ubuntu config --default-user your_username
Daniel Kettemann다른 Mac에서 마이그레이션한 후에도 동일한 문제가 발생했습니다. 그리고 내 키로 github에 연결하는 것이 차단되었습니다.
아래와 같이 권한을 재설정하니 이제 잘 됩니다.
chmod 700 ~/.ssh # (drwx------) cd ~/.ssh chmod 644 *.pub # (-rw-r--r--) chmod 600 id_rsa # (-rw-------)
Jeff Gu Kang여기에 흥미로운 메시지가 있습니다. 운영 체제는 개인 키가 너무 열려 있는 경우 원격 연결을 거부할 만큼 충분히 똑똑합니다. id_rsa에 대한 권한이 활짝 열려 있는 위험을 이해합니다(읽기, 누구나 편집 가능).
{먼저 자물쇠를 변경한 다음 이미 가지고 있는 키로 열 수 있습니다.}
cd ~/.ssh chmod 400 id_rsa
여러 서버(비프로덕션)에서 작업하는 동안 우리 대부분은 원격 서버를 ssh로 연결해야 한다고 느낍니다. 좋은 아이디어는 서버 간에 ssh 트러스트를 생성하기 위해 응용 프로그램 수준 코드(jsch를 사용하는 Java일 수 있음)를 갖는 것입니다. 이렇게 하면 암호 없이 연결됩니다. 펄이 설치된 경우 - net ssh 모듈도 사용할 수 있습니다.
Piyush Baijal내 모든 인증서와 키를 하나의 디렉토리에 보관하고 이것은 PuTTY와 같은 도구에서 작동하지만 scp 명령에서 "너무 열려 있음" 오류 메시지가 나타납니다. Windows는 SSH 키를 저장하기 위한 적절한 액세스 권한이 있는 C:\users\ACCOUNTNAME\.ssh 폴더를 이미 유지 관리하고 있음을 발견했습니다. 콘텐츠를 백업한 상태로 유지하거나(Windows에서는 업데이트 중에 삭제하기도 함) 사용자 폴더에 ssh 키용 폴더를 생성하면 사용자와 관리자만 해당 상위 폴더에 액세스할 수 있으므로 제대로 작동합니다.
Windows 폴더에 대한 액세스 권한을 변경할 때는 매우 주의하십시오. 이 작업을 수행했으며 하루에 한 번 Windows가 내 C: 드라이브에 있는 모든 파일을 스캔하고 읽고 쓰고, 이 프로세스로 인해 컴퓨터가 몇 분 동안 느려집니다.
David Spector700 folder 644 id_rsa.pub
이것은 나를 위해 작동합니다.
nervermore사람들이 말했듯이 Windows에서는 C:\Users[user].ssh\에 내 pem 파일을 삭제하고 해결했습니다. 작동하지 않는 bash 또는 powershell 프롬프트에서 chmod 및 기타 명령줄 옵션을 수행할 수 있지만. 나는 rsa 또는 다른 것을 변경하지 않았습니다. 그런 다음 연결을 실행할 때 pem 파일의 경로를 .ssh 폴더에 넣어야 합니다.
ssh -i "C:\Users[사용자].ssh\ubuntukp01.pem" ubuntu@ec[ipaddress].us-west-2.compute.amazonaws.com
Win Swarr다른 트릭은 다운로드 폴더에서 수행하는 것입니다. AWS EC2 인스턴스에서 개인 키를 다운로드하면 파일이 이 폴더에 있을 것입니다. 그런 다음 명령을 입력하기만 하면 됩니다.
ssh-keygen -y -f myprivateKey.pem > mypublicKey.pub
MitchellAnsible을 사용하는 동안 이 오류가 발생했습니다. 이 문제를 해결하기 위해 개인 키의 권한을 600으로 변경했습니다. 그리고 그것은 효과가 있었다!
chmod 600 .vagrant/machines/default/virtualbox/private_key
vildhjarta내 개인 키에 대해 600 수준의 권한을 시도했는데 저에게 효과적이었습니다. chmod 600 privateKey [dev]$ ssh -i privateKey user@ip 작동
chmod 755 privateKey [dev]$ ssh -i privateKey user@ip 아래 문제가 발생했습니다. 'privateKey'에 대한 권한 0755가 너무 열려 있습니다. 다른 사람이 개인 키 파일에 액세스할 수 없도록 해야 합니다. 이 개인 키는 무시됩니다. 로드 키 "privateKey": 잘못된 권한
deepu kumar singhWindows 10의 경우 이것이 내가 찾은 것입니다.
- 키를 Linux 파일 시스템으로 이동:
mv ~/.ssh /home/{username}
- 해당 키에 대한 권한 설정:
chmod 700 /home/{username}/.ssh/id_rsa
- 키에 대한 심볼릭 링크 생성:
ln -s /home/{username}/.ssh ~/.ssh
~
)가 Linux 대신 Windows에 저장되도록 설정한 경우에 발생합니다 /mnt/
vs /home/
).
theEpsilonPutty는 Windows 10에서 작업을 수행할 수 있습니다. 개인 키를 입력으로 사용하여 공개 키를 생성합니다.
- https://www.putty.org/ 에서 퍼티 다운로드
- 퍼티를 설치하십시오. 설치 시 putty config, putty key gen의 두 가지 애플리케이션이 제공됩니다.
- 퍼티젠 실행
- 로드를 클릭하고 개인 키 파일을 선택하십시오. 개인 키 파일의 이름을 .ppk 확장자로 변경해야 합니다(예: private-key.ppk).
Mitchell나는 'sudo'로 성공했다
sudo chmod 400 pem-file.pem sudo ssh -i pem-file.pem username@XXXX
Navy Flame제 경우에는 공백이 너무 많았습니다.
ssh -i mykey.pem ubuntu@instace.eu-north-1.compute.amazonaws.com
하지만
ssh -i mykey.pem ubuntu@instace.eu-north-1.compute.amazonaws.com
잘 작동했습니다. 문제는 공백이 사용자 이름의 일부로 사용된다는 것입니다.
coorasseWindows 10을 사용 중이며 SSH를 통해 EC2 인스턴스에 연결하려고 합니다. Windows용 cygwin을 사용하는 대신 gitbash를 사용해 보세요. 키에 대해 chmod 400을 수행한 후 EC2 인스턴스에 SSH로 연결할 수 있지만 cygwin에서는 동일하게 작동하지 않습니다. Windows는 .pem 파일을 인터넷에서 가져온 것으로 간주하여 차단합니다. 상속을 비활성화해도 작동하지 않습니다.
파일을 .ppk 형식으로 변환했는데 퍼티에서도 잘 작동합니다. cygwin에서 작동하지 않습니다.
AshuAWS 인스턴스에 연결하는 동안 Windows의 WSL에서 이 문제가 발생했습니다. 내 문제는 클래식 명령 프롬프트로 전환하여 해결되었습니다. 다른 터미널 인터페이스로 전환하여 도움이 되는지 확인할 수 있습니다.
LeenaI have got the similar issue when i was trying to login to remote ftp server using public keys.. To solve this issue initially i have done the following process
먼저 이 공개 키를 사용하여 ftp에 로그인하려고 할 때 공개 키의 위치를 찾으십시오. 먼저 키를 생성해야 하며 해당 키 권한을 600으로 설정하도록 설정합니다.
올바른 위치에 있는지 확인하십시오.
1 단계:
정확한 위치로 이동
2 단계:
올바른 위치에 있는 후
명령:
chmod 600 id_rsa
This has solved my issue.
Ravi Teja Mureboina출처 : http:www.stackoverflow.com/questions/9270734/ssh-permissions-are-too-open-error