답변:
위와 같이 한 후에 나는 항상 이것을 얻었습니다.
total 22
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 ..
-rw-rw---- 1 jl None 129 Jul 1 14:30 config
에 오류가 있습니다 .ssh/config
. 그래서 실행 한 chown
온 .ssh
폴더를 chmod
다음과 같이 다시 :
> chown -R [USERNAME]:users .ssh/
그리고:
> chmod -R 600 .ssh/
그리고 마침내 나는 그것을 작동 시켰습니다.
total 29
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxrwt+ 1 jl None 0 Sep 9 18:44 ..
drw-------+ 1 jl Users 0 Sep 9 18:44 .ssh
편집 (Windows10의 bash 용)
오류가 발생하면 ..
알려진 호스트 목록 (/PATH_TO_HOME/USERNAME/.ssh/known_hosts)에 호스트를 추가하지 못했습니다.
known_hosts가 쓰기 가능한지 확인하십시오
$ chmod 755 known_hosts
참고 : 개인 키에 600 만 설정하면됩니다.
그런 다음 ssh를 시도하십시오.
당신이 얻을 때..
알려진 호스트 목록에 'HOST_IP'(RSA)를 영구적으로 추가했습니다.
모드 600을 교체 할 수 있습니다
$ chmod 600 known_hosts
추신 : 나는 이것이 Windows 8의 버그라고 생각합니다.
chown -R [Username]:Benutzer .ssh/
이 답변은 https://superuser.com/a/875934/82032 에서 그대로 복사됩니다 . 이것은 최근 cygwin 업그레이드 후 저에게 효과적이었습니다.
ACL을 잊지 마십시오
ACL 파일을 제거 하고 권한을 재설정하기 전까지는 아무런 효과가 없었습니다 .
#remove ACLs
setfacl -b ~/.ssh/config
#reset permissions
chmod 0600 ~/.ssh/config
getfacl
파일에서 현재 ACL을 보는 데 사용할 수 있습니다 .
getfacl ~/.ssh/config
ACL을 제거하기 전에 (깨진) :
# owner: Administrators
# group: None
user::rw-
group::---
group:Authenticated Users:rwx
group:SYSTEM:rwx
mask:rwx
other:---
후 : (일)
# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---
config
Cygwin의 ls
명령을 사용 하여 파일 의 권한을 확인하십시오 .
> c:\cygwin\bin\ls.exe -la c:\cygwin\home\[USERNAME]\.ssh
아마 다음과 같을 것입니다 :
total 5
drwxrwxrwt+ 1 Administrators None 0 Oct 20 17:02 .
drwxr-xr-x+ 1 [USERNAME] None 0 Oct 19 08:15 ..
-rw------- 1 Administrators None 57 Oct 20 16:58 config
구성 파일은 [USERNAME]에 속해 있어야합니다. 이 시도:
> c:\cygwin\bin\chown.exe [USERNAME] c:\cygwin\home\[USERNAME]\.ssh\config
ls -la
이제 올바른 소유자를 표시해야합니다. 그래도 문제가 해결되지 않으면 모드 (권한)를 재설정하십시오.
> c:\cygwin\bin\chmod.exe 700 c:\cygwin\home\[USERNAME]\.ssh\config
아주 간단하게 :
chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
파일이 windows (NTFS) 심볼릭 링크 인 경우 위의 작업이 작동하지 않습니다. 일반 파일로 만들어야합니다. 왜 그런지 잘 모르겠습니다.
openssh 또는 cygwin이없는 경우 초콜릿을 사용하여 쉽게 설치하십시오.
choco install cyg-get
chocolatey와 함께 설치된 Cygwin Terminal 을 열고 실행하십시오 ( ssh-keygen
새 키 작성 참고 ).
cyg-get install openssh
ssh-keygen
cd ~/.ssh && explorer.exe .
키가 있는지 확인하거나 원하는 키로 바꾼 다음 Cygwin 셸에 다음을 입력하십시오.
chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
또는 초콜릿의 SSH 패키지를 사용하고 키를 생성하는 드문 경우입니다 .
chown -R $USER:users /cygdrive/c/Users/$USER/.ssh
chmod -R 600 /cygdrive/c/Users/$USER/.ssh
dir 간단한 솔루션 noacl
으로 경로 를 사용하는 사람들에게는 ~/.ssh
기본 NTFS 심볼릭 링크를 만드는 것입니다.
cmd# mklink c:\home\.ssh c:\opt\cygwin\home\misc\.ssh
symbolic link created for c:\home\.ssh <<===>> c:\opt\cygwin\home\misc\.ssh
로 noacl
다음 다른 권한을 설정하는 방법은 없습니다 rwxr-xr-x
나 rw-r--r--
. 으로 /
계층 구조가없이해야한다 noacl
(또는 함께해야합니다 acl
) 당신은 그것을 Cygwin에서의 응용 프로그램에 대한 문제가 장소를 여기 디렉토리와 지점을 만들 수 있습니다.
mklink /j
의 junction
도구 일 것 입니다.
tldr : 관리자로 구성을 만들었을 수 있습니다
실수로 파일을 관리자로 작성하고 로컬 perms와 함께 파일을 사용하려고하면 이러한 솔루션이 과도해질 수 있습니다.
~/.ssh
으로 PowerShell 또는 %userprofile%\.ssh
cmd )로 이동하십시오.notepad .\config
$sshPath = '~/.ssh/config'
$content = cat $sshPath
# In case the line above fails, this check will prevent your current config to get deleted
if ($content) {
rm $sshPath
$content | Out-File -en ascii $sshPath
}