Mac 터미널에서 PPK 파일을 사용하여 SSH를 통한 원격 연결에 연결


140

Windows XP에서 Putty를 사용하고 .ppk 파일을 사용하여 Linux 서버 (여러 서버)에 연결했습니다.

서버에는 ~ / .ssh / authorized_keys 폴더와 파일이 있습니다.

이제 터미널을 통해 Mac을 사용하여 연결하고 싶습니다. 서버에 대한 원격 연결을 수동으로 설정했으며 ppk 파일 또는 그 안에있는 개인 / 공개 키를 사용하여 설정하는 방법을 알고 싶습니다.

참고 : 이미 Windows에서 개인 / 공개 키 로그인을 사용하고 있으므로 keygen을 사용하여 새 키를 만들 필요가 없습니다. 키를 이미 가지고 있으므로 지금 설정하는 방법을 알고 싶습니다. 즉, 이미 서버에 승인 된 키 목록과 공개 및 개인 키가 있습니다.

답변:


374

sshMac의 터미널에서 직접 사용할 수 있지만 .PEM키 대신 키 를 사용해야합니다 putty .PPK. 당신은 변환하는 Windows에서 puttygen을 사용할 수 있습니다 .PEM.PPK나는 주위하지만 다른 방법에 대해 확실하지 않다.

또한 사용하여 키 변환 할 수 있습니다 puttyMac 용을 통해 port또는 brew:

sudo port install putty

또는

brew install putty

이것도 설치 puttygen됩니다. 파일 puttygen을 출력 하려면 .PEM:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

키가 있으면 터미널 창을 열고 다음을 수행하십시오.

ssh -i privatekey.pem user@my.server.com

개인 키에는 엄격한 보안 설정이 있어야합니다. 그렇지 않으면 SSH가 불평합니다. 사용자 만 키를 읽을 수 있는지 확인하십시오.

chmod go-rw privatekey.pem

1
sudo 포트 ?? 것을 확실히 매버릭스 적어도 ... 존재하지 않습니다
페드로 루즈

23
또한 사용하는 퍼티를 설치할 수 있습니다 양조 : brew install putty. 우리는 sudo여기서 사용하지 않습니다 ;)
GabLeRoux

2
유용한 답변 !! 고마워요 !! 포트가 설치되지 않은 사람들을 위해 다음 링크를 따라 git을 설치할 수 있습니다 : codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj

3
puttygen 명령을 실행하려고 할 때이 오류는 무엇을 의미합니까? 키를로드 할 암호 구 입력 : 어설 션 실패 : (random_active), random_byte 함수, 파일 ./../sshrand.c, 313 행. 중단 트랩 : 6
fastasleep

6
HEAD에서 추출 공식을 설치해야하므로 brew uninstall먼저를 사용하십시오 brew install putty --HEAD. 이것은 나를 위해 일했습니다.
Dokie

31

PPK에서 OpenSSh로 변환

OS X : Homebrew 설치 후 실행

양조 설치 퍼티

홈 폴더와 같은 일부 디렉토리에 키를 배치하십시오. 이제 PPK 키를 SSH 키 쌍으로 변환하십시오.

개인 키를 생성하려면

cd ~

puttygen id_dsa.ppk -O private-openssh -o id_dsa

공개 키를 생성하려면 다음을 수행하십시오.

puttygen id_dsa.ppk -O 공개 Openssh -o id_dsa.pub

이 키를 ~ / .ssh로 이동하고 개인 키에 대한 권한이 개인용으로 설정되어 있는지 확인하십시오.

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

ssh 서버와 연결

ssh -i ~/.ssh/id_dsa username@servername

mysql 원격 서버에 연결하기위한 포트 포워딩

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName

19

Mac에 퍼티를 설치하지 않고도이 작업을 수행 할 수 있습니다. Windows에서 PuTTYgen을 사용하여 기존 PPK 파일을 PEM 파일로 쉽게 변환 할 수 있습니다.

PuTTYgen을 시작한 다음로드 버튼을 사용하여 기존 개인 키 파일을로드하십시오. "변환"메뉴에서 "OpenSSH 키 내보내기"를 선택하고 개인 키 파일을 .pem 파일 확장자로 저장하십시오.

PEM 파일을 Mac에 복사하고 사용자가 읽기 전용으로 설정하십시오.

chmod 400 <private-key-filename>.pem

그런 다음 ssh를 사용하여 원격 서버에 연결할 수 있어야합니다

ssh -i <private-key-filename>.pem username@hostname

9
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.그래서 Mac에서하는 가장 좋은 방법은 Windows에서하는 것입니다!
Roee Gavirel

6
실제로 @sigi 내 대답은 진정으로 도움이되었습니다. 내가 이해하는 질문의 주요 목표는 Windows 컴퓨터의 기존 .ppk 파일을 사용하여 Mac에서 Linux 서버로 연결하는 것입니다. asker가 Windows 시스템에 액세스 할 수 있다는 질문을 감안할 때 .ppk 파일을 .pem 파일로 변환하기 전에 Mac으로 복사하는 것이 먼저 Mac으로 복사하여 변환하는 것만 큼 유효한 솔루션입니다. 일부 사람들은 다른 방법으로 필요하지 않은 추가 소프트웨어를 Mac에 설치하지 않기를 원하기 때문에이 방법을 제안했습니다.
dasfrosty

3
이 답변은 방어적인 이유 때문에 매우 유용합니다. 기존 ppk 파일이있는 Windows에서 Mac으로 오는 사람은 Mac에 PuTTY를 Mac에 설치하는 대신 특별한 목적으로 Windows에서 내보내려고 할 가능성이 높습니다. 이것은 내가하기로 선택한 것입니다.
trevorsky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.