PuTTYgen을 사용하여 키 페어를 생성하고 Pageant를 사용하여 로그인하여 시스템 부팅시 한 번만 암호 문구를 입력해야합니다.
Linux에서 어떻게 이것을 달성합니까? 나는 들었지만 keychain
다른 키 페어 형식을 사용한다고 들었습니다. Windows 키를 변경하고 싶지 않으며 Windows와 Linux에서 동일한 방식으로 완벽하게 연결할 수 있다면 좋을 것입니다.
PuTTYgen을 사용하여 키 페어를 생성하고 Pageant를 사용하여 로그인하여 시스템 부팅시 한 번만 암호 문구를 입력해야합니다.
Linux에서 어떻게 이것을 달성합니까? 나는 들었지만 keychain
다른 키 페어 형식을 사용한다고 들었습니다. Windows 키를 변경하고 싶지 않으며 Windows와 Linux에서 동일한 방식으로 완벽하게 연결할 수 있다면 좋을 것입니다.
답변:
puttygen
개인 키를 OpenSSH 호환 형식으로 내보내기를 지원합니다. 그런 다음 OpenSSH 도구를 사용하여 공개 키를 다시 작성할 수 있습니다.
Conversions->Export OpenSSH
개인 키로 이동하여 내보내기~/.ssh/id_dsa
(또는 id_rsa
)에 복사하십시오 .다음을 사용하여 공개 키의 RFC 4716 버전을 작성하십시오. ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
공개 키의 RFC 4716 버전을 OpenSSH 형식으로 변환하십시오.
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
It is required that your private key files are NOT accessible by others
내가 실행했던 같은 오류 cd ~/.ssh
와chmod 700 id_rsa
PuTTY 스타일 형식의 사용자 공개 키만 있으면 다음과 같이 표준 openssh 형식으로 변환 할 수 있습니다.
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
나는 이것을 잊어 버리고 여기에 쓸 것입니다. 괴짜가 아닌 사람들은 계속 걷습니다.
Windows에서 키를 만드는 가장 일반적인 방법은 Putty / Puttygen을 사용하는 것입니다. Puttygen은 Linux 개인 키를 Putty 형식으로 변환하는 깔끔한 유틸리티를 제공합니다. 그러나 해결되지 않은 것은 puttygen을 사용하여 공개 키를 저장하면 Linux 서버에서 작동하지 않는다는 것입니다. Windows는 일부 영역에 데이터를 넣고 줄 바꿈을 추가합니다.
해결 방법 : puttygen에서 키 페어를 생성 할 때 공개 키 화면에 도달하면 공개 키를 복사하여 확장자가 .pub 인 텍스트 파일에 붙여 넣습니다. 이런 식으로 sysadmin 시간의 좌절 읽기 게시물을 절약 할 수 있습니다.
그러나 sysadmins는 키를 찾지 못하고 암호를 시도하는 것을 제외하고는 인증 로그에 오류 메시지를 표시하지 않는 원 키 파일을 항상 얻습니다. 다른 사람의 키가 제대로 작동하더라도이 키를 사용자에게 15 번 다시 보냈습니다.
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
기존 puttygen 공개 키를 OpenSSH 형식으로 변환해야합니다.
Comment:
줄 에서 사용자 의견을 복사하여 공백으로 구분하여 새 키와 동일한 줄에 붙여 넣을 수 있습니다. ssh-keygen이 기본적 으로이 작업을 수행하지 않는 이유를 모르겠습니다.
decode blob failed: invalid format
또는 PuTTY 형식의 키 파일에서 개인 및 공개 키를 가져 오려면 puttygen
* nix 시스템에서 사용할 수 있습니다 . 대부분의 apt 기반 시스템 puttygen
은 putty-tools
패키지의 일부입니다 .
PuTTY 형식의 키 파일에서 개인 키 출력 :
$ puttygen keyfile.pem -O private-openssh -o avdev.pvk
공개 키의 경우 :
$ puttygen keyfile.pem -L
brew install putty
puttygen inppk -O private-openssh -o outpem
및 puttygen inppk -L
(또는 ssh-keygen -y -f outpem
)
sudo apt-get install putty
퍼티 겐 도구가 자동으로 설치됩니다.
SSH 명령과 함께 사용할 PPK 파일을 변환하려면 터미널에서 다음을 실행하십시오.
puttygen mykey.ppk -O private-openssh -o my-openssh-key
그런 다음 SSH를 통해 다음을 통해 연결할 수 있습니다.
ssh -v user@example.com -i my-openssh-key
http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#comment-28603
최근 Linux 용 Putty에서 Linux 용 Remmina로 이동 하면서이 문제가 발생했습니다. 그래서 .putty
8 년 동안 사용하면서 Putty 용 PPK 파일이 많이 있습니다. 이를 for
위해 bash 쉘에 간단한 명령을 사용하여 모든 파일을 수행했습니다.
cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;
퍼티가 가진 모든 파일에 대해 작업을 매우 빠르게 완료했습니다. 비밀번호가있는 키를 찾으면 중지하고 해당 키의 비밀번호를 먼저 요청한 후 계속합니다.
TCSgrad가 몇 년 전에 묻고 자하는 것은 Linux를 Windows 컴퓨터처럼 작동하게 만드는 방법이었습니다. 즉, 암호문을 한 번만 입력하면되도록 개인 키의 암호 해독 된 사본을 보유하는 에이전트 (대회)가 있습니다. 그런 다음 ssh 클라이언트 인 putty는 암호 프롬프트없이 공개 키가 "권한 부여됨"으로 표시되는 시스템에 로그인 할 수 있습니다.
이에 대한 아날로그 는 ssh 클라이언트 역할을하는 Linux 에 암호 해독 된 개인 키를 보유하는 에이전트가있어 TCSgrad 유형이 "ssh host"인 경우 ssh 명령이 개인 키를 가져 와서 비밀번호를 입력하지 않아도됩니다. 물론 호스트는 ~ / .ssh / authorized_keys에 공개 키를 가지고 있어야합니다.
이 시나리오에 대한 Linux 아날로그는 ssh-agent (pageant analog) 및 ssh-add (pageant에 개인 키를 추가하는 아날로그)를 사용하여 수행됩니다.
나를 위해 일한 방법은 다음과 같습니다. $ ssh-agent $ SHELL $ SHELL은 에이전트를 실행하고 계속 실행시키는 데 필요한 마술이었습니다. 나는 'net'어딘가에서 벽에 머리를 때리는 몇 시간을 끝내는 것을 발견했습니다.
이제 키가로드되지 않은 에이전트 인 pageant의 아날로그가 실행됩니다.
$ ssh-add 자체를 입력하면 기본적으로 ~ / .ssh의 기본 아이디 파일에 나열된 개인 키가 추가됩니다 (기본적으로).
PPK → PuttyGen & Docker가 포함 된 OpenSSH RSA.
개인 키 :
docker run --rm -v $(pwd):/app zinuzoid/puttygen private.ppk -O private-openssh -o my-openssh-key
공개 키 :
docker run --rm -v $(pwd):/app zinuzoid/puttygen private.ppk -L -o my-openssh-key.pub