.ssh / config : Mac OS Sierra 10.12.6의 "잘못된 구성 옵션 : UseKeychain"


91

Mac (Mac OS Sierra 10.12.6)에서 ssh 구성을 키 체인에 ssh 키의 암호를 저장하는 방식으로 설정하려고합니다. 이전에는

ssh-add -K ~/.ssh/id_rsa

그러나 최근에는 더 이상 작동하지 않는 것 같습니다. 이 기사에 따라 Mac OS> 10.12.2에서 ssh 구성의 동작이 변경된 것으로 보이며이 문제를 해결하는 권장 방법은 UseKeychain yesssh 구성 에 추가 하는 것입니다. 그래서 여기에 내 .ssh/config섹션이 있습니다 Host *.

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

외부 호스트에 ssh를 시도 할 때 다음 오류 메시지가 표시됩니다.

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

왜 이런 일이 발생하고 어떻게 해결할 수 있는지 아이디어가 있습니까? 감사!

답변:


169

IgnoreUnknown다음과 같이 다른 옵션을 지정하십시오 .

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

여기에서 이에 대한 자세한 정보를 찾을 수 있습니다 .

이미 IgnoreUnknown값 이있는 경우 쉼표로 구분 된 값을 사용하십시오.

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
ssh -F /dev/null ...일시적으로 구성 파일을 우회하면 저에게 효과적입니다.
Itachi

1
IgnoreUnknown UseKeychain여전히 추가 가 작동하지 않으므로 UseKeychain yes모두 제거 하고 작동합니다. 이것이 최선의 접근 방식인지 확실하지 않습니다.
Hank Chan

이 솔루션은 저에게 효과적이지만 갑자기 변경되는 이유를 이해할 수 없습니다. 내 DigitalOcean 계정에만 로그인하고 있습니다.
anjanesh

모든 옵션을 제거하고 Host 및 IdentityFile을 그대로 두었습니다. Github는 이러한 옵션을 사용하라고 말했지만 나에게도 작동하지 않습니다. 감사.
Natus Drew

51

받아 들여진 대답은 나를 도왔지만 여러 가지 옵션이 좋지 않았기 때문에 내 문제를 완전히 해결하지는 못했습니다. 다음은이 문제가있는 경우의 예입니다.

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

여기에 남겨두고 싶습니다. 원격 연결에도 문제가 있었는데 이것이 문제로 판명되었습니다. 문제는 내가 제거하지만 원격 연결을 방지 나머지 남은의 Bitbucket의 Sourcetree 도구를 사용하여 생성 된
코너

감사! MacOS mojave 10.14.6에서 작업
brendan

왜 이것이 작동합니까? 나는 같은 문제
Nishant Mehta

2

방금 줄을 주석 처리하고 scp / ssh가 다시 작업을 시작했습니다.


1

ssh-add 대신 'open .ssh / id_rsa'를 입력하고 키 체인에 추가하십시오.

UseKeychain 옵션이 내 구성에서 나쁘게 보이지는 않았지만 처음에는 다른 호스트보다 먼저 다음이 있습니다.

Host *
UseKeychain yes 

Host (...)

참고로, 잘못된 순서라고 생각합니다. 그렇게 작성하면 *규칙이 무시됩니다. man ssh_config"각 매개 변수에 대해 처음으로 얻은 값이 사용되기 때문에 파일 시작 부분에 더 많은 호스트 별 선언이 제공되어야하고 끝에 일반 기본값이 지정되어야합니다."
Telemachus

참고로, 저는 수십 대의 서버에서 거의 10 년 동안 그렇게 해왔지만 문제가 없었습니다. 매일 너무 많은 서버에 ssh를 보냅니다. 그러나 누군가 해당 구성에서 실제 문제를 발견하면 아마도 그럴 것입니다.
Ricardo Mendes

0

대문자 -K 소문자 -k를 사용해보세요 !!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-add-K적어도 macOS 에는 옵션 이 있습니다 . man ssh-add:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

나는 같은 문제가 있었고 지침에 따라 키를 생성하기 시작할 때 깨달았습니다. 첫 번째 단계는 이것입니다.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

나는 이메일 주소를 변경하지 않았지만 당연히 그것을 잊었다. : D. 따라서 그 단계를 잊지 마십시오. 모든 것이 잘 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.