OSX ssh-agent : 비밀번호 붙여 넣기가없고 PKCS # 8에 문제가 있습니까?


37

내 컴퓨터에서 ssh를 사용하고 암호 관리자에 저장되는 사람에게 친숙하지 않은 긴 암호를 설정했습니다. 매번 나를 미치게 만드는 것은 아래 그림과 같은 창에 붙여 넣을 수 없다는 것입니다. Remember password in my keychain옵션을 알고 사용합니다. 때때로 나는 새로운 것을 입력해야합니다. 비밀번호 입력란에 붙여 넣을 수없는 이유는 무엇입니까?

암호화 된 디스크를 꽂을 때 나타나는 대화 상자도 마찬가지입니다.

ssh 에이전트 창

일부 업데이트 :

  1. 대화 상자를 피할 수있는 방법을 찾았습니다 : 그냥 사용 ssh-add -K ~/.ssh/id_rsa하고 암호를 터미널에 붙여 넣을 수 있습니다.
  2. mattmcmanus가 언급했듯이 내 키는 pkcs8Yosemite의 ssh-agent에서 깨진 키를 사용하여 암호화됩니다 . 이것은 위의 문제와 관련이 없지만 동시에 나에게 발생했습니다 ( 여기를 읽으 십시오 ).
  3. 사용하여 ssh-add 계속하는 것은 암호화 된 디스크에 대해이 문제를 해결합니다.

아래의 좋은 답변 중 하나를 수락해야합니다. 또한 단일 게시물에서 여러 개의 질문을하지 않아야합니다.
Alain O'Dea

1
@ AlainO'Dea 먼저, 예, 이것은 오래된 질문이며 잊어 버렸습니다. 그러나 두 번째로 : 질문 할 때 두 번째 문제 (파손 된 PKCS)가 발생할지 확실하지 않았습니다. 편집 기록을 참조하십시오.
joni

답변:


22
  1. 콘솔 / 터미널에 키를 추가하여 ssh-agent 대화 상자를 피할 수 있습니다 ssh-add ~/.ssh/id_rsa. 그런 다음 비밀번호를 터미널에 붙여 넣을 수 있습니다. 또한 -K옵션을 추가하면 ssh-addOliver Lacans의 의견에 따라 키 체인에 저장됩니다.
  2. mattmcmanus가 말했듯이 PKCS를 사용한id_rsa 암호화 는 OSX Mavericks ssh-agent에서 작동하지 않는 것 같습니다. 빠른 해결 방법은 키 파일을 해독하고 표준 ssh 프로 시저 (키 파생 방법 : MD5 ...)를 사용하여 다시 암호화하는 것입니다.

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again

3
joni의 답변은 훌륭하지만 ssh-add -K ~/.ssh/id_rsa에 따르면 "키 체인에 암호문 저장"을 권장 합니다 ssh-add --help. ssh-add새 쉘 탭을 열 때마다 또는 시스템을 다시 시작할 때마다 다시 실행하지 않아도됩니다 .
Olivier Lacan

2

PKCS # 8 키이며 매버릭스에 있습니까? 그렇다면 완전히 파열 된 것 같습니다. 아직 해결책이 있는지 확실하지 않습니다.


1
왜 이럴까요? 지금까지의 문제는 대화 상자의 비밀번호 필드가 붙여 넣기를 허용하지 않는다는 것입니다. 이것은 10.8에 이미 존재하지만 10.9로 업데이트되었으므로 암호를 다시 입력해야합니다.
joni

좋아, 당신은 옳은 것 같습니다 ... 내 자신의 대답을보십시오.
joni

2

Mac OS X El Capitan에서 ssh-add 명령은 -K 옵션을 사용하여이를 수행 할 수 있습니다 .

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

⌘-V를 사용하여 비밀번호를이 프롬프트에 붙여 넣을 수 있습니다 .

이에 대한 세션은 다음과 같습니다.

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

SSH-ADD (1) 의 관련 발췌는 man ssh-add 와 함께 제기되었습니다 .

-K 신원을 추가 할 때 각 암호 문구도 키 체인에 저장됩니다. -d로 ID를 제거하면 각 암호 구가 키 체인에서 제거됩니다.

정보 참고 : 암호는 쉘에 표시되지 않지만 클립 보드를 통해 실행중인 모든 응용 프로그램에 노출됩니다. 자동 유형 솔루션이 더 안전합니다.


1

AppleScript 편집기에서 다음과 같은 스크립트를 실행할 수 있습니다.

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell

1
감사합니다. 이것은 '암호화 된 디스크'대화 상자에 도움이됩니다. 그러나 왜 사과가 붙여 넣기를 위해이 필드를 비활성화 했습니까 ???
joni

핸디하지만 그래도 이것이 PKCS # 8 문제를 해결한다고 생각하지 않습니다. 올바른 암호를 입력하더라도 잘못된 암호 문구가 표시됩니다.
Bob Aman

말도 안 돼. 이제 최고 비밀 암호는 모든 사람에게 공개됩니다. 이것이 TS가 비밀번호 관리자를 사용하여 비밀번호를 중앙 집중식으로 보호하는 이유입니다.
whaefelinger

1
El Capitan에서는 작동하지 않습니다. 스크립트 편집기는 보조 제어를 얻을 수 있도록 먼저 묻습니다 System Events got an error: Script Editor is not allowed assistive access. 그에서 허용되면 | 시스템 환경 설정 내가받는 보안 및 개인 정보 보호 정책System Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.
Alain O'Dea

1

나는 같은 문제가 있었다. 이 질문을 찾은 후에도 계속 다른 곳에서 답을 찾았습니다. 이것은 오래된 질문이지만 답변이 없으며 검색 목록에서 여전히 높습니다. (스택 교환 에티켓을 확실하지 않음).

복사 / 붙여 넣기를 할 수없는 RE : 의도적으로 설계된 것입니다. 악의적 인 프로그램이 암호 상자를 긁는 것을 방지하기 위해 클립 보드에서 필드에 대한 모든 액세스를 방지하기위한 것입니다. 붙여 넣기 (잘라 내지 말 것)는 허용되어야한다고 생각하지만 기술적 인 이유가있을 수 있습니다.

SSH를 에이전트 물건의 경우, (적어도) 요세미티,의로 -K에서 옵션을 ssh-add -K ~/.ssh/blah사용하면 원하는 것을 수행 - 한 번 암호를 입력, 그것은 키 체인에 저장하고있어 ssh를 에이전트 것 투명하게 당신을 위해 잠금 해제. 더 안전하고 안전하게 시도하기 위해 ssh 암호를 정기적으로 잠그는 별도의 키 체인에 넣습니다.


찾은 답변에 대한 링크를 공유 할 수 있습니까?
John Carney


0

brew openssl 및 openssh를 사용하면 문제가 해결됩니다.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

openssl을 강제로 연결하면 Mavricks에서 무언가가 깨지는 지 확실하지 않습니다. 지금까지 어떤 문제도 발견하지 못했습니다.


1
에 대한 (더 긴 a) brew수식 이 없습니다 openssh.
Adam Liter

brew tap homebrew/dupes그러나 여전히 있습니다 . 즉,이 단계는이 문제를 해결하지 못하는 것 같습니다.
Bob Aman

@ simple10이 답변은 가치가 거의 없거나 전혀 없습니다. 최소한 문제를 해결하는 openssl / openssh 버전을 제공해야합니다. 또한 왜 그런지 자세히 설명하십시오.
whaefelinger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.