Cygwin에서 SSH/Git을 설정하면 "~/.ssh/config에 대한 잘못된 권한"이 발생합니다.

Cygwin에서 SSH/Git을 설정하면 "~/.ssh/config에 대한 잘못된 권한"이 발생합니다.

Cygwin에서 OpenSSH로 Git을 설정하려고 합니다. 거의 모든 설정이 완료되었습니다. 에이전트와 공개 키 등이 있습니다. 그런데 이제 정말 이상한 오류가 발생합니다.

$ git pull -u origin master
Bad owner or permissions on /home/Jordan/.ssh/config
fatal: The remote end hung up unexpectedly

구글링해보면 (물론) 권한 오류인 것 같습니다. 한 가지 문제: 권한이 괜찮아 보입니다.

나는 또한 을 시도했지만 chmod 0600 ~/.ssh/config도움이 되지 않았습니다. 내가 시도한 것 :

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ chmod 0600 ~/.ssh/config 

Jordan@EarlzWindows8VM ~/dev/NonExceptional
$ stat ~/.ssh/config 
  File: `/home/Jordan/.ssh/config'
  Size: 47              Blocks: 1          IO Block: 65536  regular file
Device: 4ade2efdh/1256075005d   Inode: 1970324837237461  Links: 1
Access: (0660/-rw-rw----)  Uid: ( 1001/  Jordan)   Gid: (  513/    None)
Access: 2013-01-12 22:53:32.483072600 -0500
Modify: 2013-01-12 22:53:32.486074700 -0500
Change: 2013-01-12 23:27:33.077476800 -0500
 Birth: 2013-01-12 22:53:32.483072600 -0500

어떤 이유로든 권한은 여전히 0660​​. 그래도 왜 그런지 이해가 안 돼요. Windows 탐색기에서 이러한 권한을 확인했습니다. 나만 파일에 접근할 수 있으며, "유효 접근 권한"을 체크해보면 그룹 사용자는 해당 파일에 접근할 수 없습니다.

이 오류를 어떻게 해결합니까?

또한 몇 가지 배경 지식은 Windows 8 Enterprise입니다. 도메인에 가입했습니다(항상 권한을 재미있게 만듭니다). Cygwin이 최신 버전입니다.

답변1

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:---

답변2

나는 이것이 항상 문제를 해결한다는 것을 발견했습니다.

chown Username:Users ~/.ssh/config
chmod go-rw ~/.ssh/config

답변3

문제는 파일이 "None" 그룹에 의해 소유되었다는 것입니다. 그룹을 "사용자"로 변경한 다음 자유롭게 권한을 변경할 수 있었습니다.

나는 이것을 알아 냈다.이 관련 질문

답변4

관리자로 실행 중인 win7의 cygwin64에서는 chmod/chown/setacl/icacls/copyacls/가 도움이 되지 않았습니다. 이것만 효과가 있었습니다:ssh -F ~/.ssh/config ...

관련 정보