Use o arquivo PPK no Mac Terminal para conectar-se à conexão remota via SSH [fechado]

140

Estou usando o Putty no Windows XP e usei o arquivo .ppk para conectar-me aos meus servidores Linux (vários servidores).

Nos servidores, tenho a seguinte pasta e arquivo ~ / .ssh / allowed_keys

Agora eu quero usar um Mac para conectar através do terminal. Eu configurei as conexões remotas com os servidores manualmente e quero saber como posso configurar usando o arquivo ppk ou a chave pública / privada dentro dele.

Observação: eu já estou usando o login de chave pública / privada no Windows, portanto, não preciso criar uma nova chave usando o keygen, só quero saber como configurar agora que já tenho as chaves. (Em outras palavras, eu já tenho as listas de chaves autorizadas no servidor e as chaves pública e privada).

Anand
fonte

Respostas:

373

Você pode sshdiretamente do Terminal no Mac, mas precisa usar uma .PEMchave em vez da putty .PPKchave. Você pode usar o PuttyGen no Windows para converter de .PEMpara .PPK, mas não tenho certeza sobre o contrário.

Você também pode converter a chave usando puttypara Mac via portou brew:

sudo port install putty

ou

brew install putty

Isso também será instalado puttygen. Para obter puttygenum .PEMarquivo de saída :

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

Depois de ter a chave, abra uma janela do terminal e:

ssh -i privatekey.pem [email protected]

A chave privada deve ter configurações de segurança rígidas, caso contrário o SSH reclama. Verifique se apenas o usuário pode ler a chave.

chmod go-rw privatekey.pem
Purpletoucan
fonte
1
porta sudo ?? que certamente não existe ... pelo menos em Mavericks
Pedro Luz
23
Você também pode instalar massa usando bebida : brew install putty. Note que não estamos usando sudoaqui;)
GabLeRoux 20/01
2
Resposta útil !! Obrigado por isso !! Para aqueles que não têm porta instalado, pode seguir seguinte link para instalar git: codingsteps.com/installing-and-using-putty-on-mac-os-x
Viraj
3
O que esse erro significa quando tento executar o comando puttygen? Digite a senha para carregar a chave: Falha na asserção: (random_active), função random_byte, arquivo ./../sshrand.c, linha 313. Interromper a interceptação: 6
fastasleep
6
Você precisa instalar a fórmula de fermentação da HEAD; portanto, brew uninstallprimeiro use brew install putty --HEAD. Isso funcionou para mim.
Dokie
31

Conversão PPK para OpenSSh

OS X: instale o Homebrew e execute

instalar massa de vidraceiro

Coloque suas chaves em algum diretório, por exemplo, na sua pasta pessoal. Agora converta as chaves PPK em pares de chaves SSH: pesquisa em cache

Para gerar a chave privada:

cd ~

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

e para gerar a chave pública:

puttygen id_dsa.ppk -O public-openssh -o id_dsa.pub

Mova essas chaves para ~ / .ssh e verifique se as permissões estão definidas como privadas para sua chave privada:

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

conectar com o servidor ssh

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

Encaminhamento de porta para conectar o servidor remoto mysql

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

Existe uma maneira de fazer isso sem instalar a massa no seu Mac. Você pode converter facilmente o arquivo PPK existente em um arquivo PEM usando o PuTTYgen no Windows.

Inicie o PuTTYgen e carregue o arquivo de chave privada existente usando o botão Carregar. No menu "Conversões", selecione "Exportar chave OpenSSH" e salve o arquivo de chave privada com a extensão .pem.

Copie o arquivo PEM para o seu Mac e defina-o como somente leitura pelo usuário:

chmod 400 <private-key-filename>.pem

Então você poderá usar o ssh para se conectar ao seu servidor remoto

ssh -i <private-key-filename>.pem username@hostname
dasfrosty
fonte
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.Então, a melhor maneira de fazer isso no mac é fazê-lo no Windows ?!
você precisa saber é o seguinte
6
Na verdade, @sigi, minha resposta foi realmente planejada para ser útil. O principal objetivo da pergunta, como eu a entendo, é conectar-se de um Mac a um servidor Linux usando um arquivo .ppk existente em uma máquina Windows. Dado que o solicitante da pergunta tem acesso a uma máquina Windows, a conversão do arquivo .ppk em um arquivo .pem antes de copiá-lo para o Mac é uma solução tão válida quanto a primeira a ser copiada para o Mac e convertida para lá. Sugeri essa abordagem, porque algumas pessoas podem preferir não instalar software adicional em seu Mac, caso contrário não precisam.
Dasfrosty 08/09
3
Esta resposta é muito útil, exatamente pelo motivo defendido: alguém vindo do Windows para o Mac com um arquivo ppk existente provavelmente desejará exportar do Windows, em vez de instalar o PuTTY no Mac sem nenhum objetivo específico. Foi exatamente isso que escolhi fazer.
trevorsky