태그 보관물: public-key

public-key

공개 키는 항상 암호와 keyphrase를 요구했다. debug1: SSH2_MSG_SERVICE_REQUEST sent debug1:

NAS에서 공개 키를 사용하는 웹 서버로 SSH를 보내려고합니다.
NAS 사용자는 ‘root’이고 웹 서버 사용자는 ‘backup’입니다.

모든 권한이 올바르게 설정되어 있고 SSH 연결을 디버깅 할 때 얻을 수있는 권한은 다음과 같습니다.
(디버그의 마지막 조금)

debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /root/.ssh/id_dsa.pub
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/root/.ssh/id_dsa.pub':

명령을 사용하고 있습니다 :

ssh -v -i /root/.ssh/id_dsa.pub backup@webserver.com

암호문을 요구한다는 사실은 확실하게 좋은 신호이지만 암호 나 암호를 요구하지 않습니다 (암호문에서 ‘return’을 누르면 나중에옵니다)



답변

개인 키가 암호화되어 있기 때문에 그게 …

ssh 에이전트에 키를 추가하려면 다음을 사용하십시오. ssh-add 또는 다음 명령을 사용하여 키에서 암호문 (및 암호문)을 제거하십시오.

ssh-keygen -p -f /root/.ssh/id_dsa -N ''

편집하다

오, 방금 공개 키를 사용하여 인증하려고한다는 것을 깨달았습니다. 개인 키를 사용하고 싶습니다.

ssh -v -i /root/.ssh/id_dsa backup@webserver.com

그리고 절대적으로 확실하게하기 위해 파일의 내용 id_dsa.pub 로 전환 ~backup/.ssh/authorized_keys 웹 서버에. 다음 명령을 사용하여 자동으로 수행 할 수 있습니다.

ssh-copy-id -i /root/.ssh/id_rsa.pub backup@webserver.com

답변

개인 키가 OpenSSH 형식이 아니었을 때 이런 일이 일어났습니다.

나는 원래 PuttyGen을 사용하여 창문에 내 열쇠를 생성했고,이 똑같은 것으로 튀어 오르고 있었다.

PuttyGen에서 키를로드하고 OpenSSH 형식으로 변환하려면 “Conversions”를 클릭하여 문제를 해결할 수있었습니다.


답변

몇 가지가 있습니다.

주로 KEY가 암호를 요구하면 키가 생성됩니다. 둘째, 시스템에서 암호를 묻는 메시지가 표시되면 키가 인증되지 않습니다. 의미, 당신은 SSH 키를 재생성 (또는 @ rbtux에 의해 제안 된대로 변경)하고 authorized_keys 파일을 수정해야합니다.

ssh-keygen -t {dsa | rsa} -b {1024 | 2048 | 4096} -C “선택적 주석”-f id_examplekey

중괄호 안의 항목은 옵션, 유형 및 비트 크기입니다 ( “보안”측면에서 dsa & gt; rsa, 4096 & gt; 1024).

그런 다음 공개 키 (.pub)를 authorized_keysauthorized_keys2 파일 (그것은 .pub가 로컬 사용을위한 것이라고 오인하는 것이 일반적이지만 오히려 비교 대상입니다) 그래서 서버의 .ssh 폴더.

$ cat id_examplekey.pub & gt; & gt; authorized_keys {, 2}

마지막으로, 핵심 사용 권한이 있는지 확인해야합니다. chmod 600 id_example 그리고 모든 것을 타이핑하는 것을 줄이기 위해 config 파일을 설정할 수 있습니다 : ~/.ssh/config 당신의 로컬 박스 (골격이라면이 톤을 커스터마이즈 할 수 있습니다) :

Host example.com
    User WHATEVERNAME
    IdentityFile ~/.ssh/id_examplekey

답변

키 자체가 암호화 되었기 때문에 나에겐 다음 단계를 따랐다.

  • ssh-agent를 시작하십시오 : $ ssh-agent bash
  • 키 관리자에 표준 신원 키를 추가하십시오. $ ssh-add
  • 다른 키를 추가하려면 다음을 수행하십시오. $ ssh-add /location/of/key

현재로드 된 키 목록은 언제든지 검사 할 수 있습니다.

$ ssh-add -l

자세한 내용은 다음에서 얻을 수 있습니다. 링크


답변

시험 https://wiki.gentoo.org/wiki/Keychain

랩의 종류입니다. ssh-agentssh-add

장점 : 재부팅하지 않는 한 암호를 반복해서 입력 할 필요가 없습니다. 에서 사용할 수 있습니다. crontab.

도움이 될지도 모른다.


답변

OpenSSH v7에서 기본적으로 비활성화되어있는 DSA pubkey를 사용하고 있기 때문일 수 있습니다.

키 쌍을 변경할 수없는 경우 webserver.com의 SSH 데몬에 해당 키 유형을 승인하도록 알리는 것이 좋습니다. /etc/ssh/sshd_config 또는 다음과 같은 라인을 추가하는 동급

PubkeyAcceptedKeyTypes=+ssh-dss

그런 다음 서비스를 다시 시작하십시오.

/etc/init.d/ssh restart                     # or equivalent

답변

Mac OSX에서는 다음 명령을 사용하여 개인 키를 키 체인에 추가 할 수 있습니다.

ssh-add -K /path/to/private_key

개인 키가 ~ / .ssh에 저장되고 이름이 id_rsa 인 경우 :

ssh-add -K ~/.ssh/id_rsa

키 체인에 저장된 암호를 묻는 메시지가 나타납니다.