Eu sou novo no MacBook e estou executando o El Capitan.
Estou migrando o uso da minha máquina de um PC para um MacBook. Eu sou usuário de longa data do PuTTY e SuperPuTTY em um PC.
Quero criar e salvar credenciais de login nos meus servidores da Web no MacBook Terminal, como fiz no SuperPuTTY no PC.
É possível salvar credenciais de login do servidor Web no Mac Terminal?
Aqui está o meu objetivo geral:
Gostaria de saber se existe uma maneira fácil no Mac Terminal de armazenar as seguintes credenciais de login da linha de comando e, em seguida, usar algum tipo de código de acesso para conectar-se ao meu servidor da Web através do Terminal:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Eu gerencio e conecto 5 servidores da Web diferentes, portanto, separar e organizar as credenciais de login em um método de conexão curta / rápida economizaria muito tempo. Especialmente porque minhas senhas são seqüências de 64 caracteres enigmáticas.
Respostas:
Você pode copiar sua chave pública para as máquinas remotas. Contanto que eles tenham a autenticação de chave pública ativada e sua chave pública esteja presente na máquina remota, você poderá
ssh
acessar as máquinas sem precisar fornecer uma senha.Primeiro, você precisará gerar um par de chaves público / privado, da seguinte forma:
Siga as instruções. Quando perguntar se você deseja proteger a chave com uma senha, diga SIM! É uma prática recomendada não proteger suas chaves com senha e mostrarei como é necessário digitar a senha de vez em quando.
Se você já possui um par de chaves, pode pular a etapa acima.
Agora, supondo que sua chave ssh exista no seu Mac
~/.ssh/id_rsa.pub
, você pode instalá-la em uma máquina remota executando:Para o seu exemplo de servidor específico citado acima, o comando seria semelhante a:
Você precisará digitar a senha para
[email protected]
executar esta cópia, mas essa deve ser a última vez que você precisará fazer isso. Supondo que o servidor remotosshd
esteja configurado para fazer autenticação de chave pública-privada, quando você acessa a caixa agora, ele não deve solicitar uma senha para aroot
conta - em vez disso, solicita a senha da sua chave . Leia sobre como fazer disso algo que você não precisa inserir o tempo todo.Repita o procedimento acima para todas as máquinas nas quais você deseja conectar com as chaves em vez de com a senha.
Observe que qualquer pessoa que obtenha o
~/.ssh/id_rsa
arquivo em espera pode enviar ssh para esta máquinaroot
sem fornecer uma senha para a máquina remota. A senha que protege o arquivo de chave garante que eles precisem saber a senha dessa chave para usá-lo. Verifique se o arquivo está seguro. Use a criptografia de disco no seu Mac e mantenha as permissões no arquivo e no~/.ssh/
diretório.Para facilitar o uso da chave sem precisar digitar a senha todas as vezes, o OS X executa um
ssh-agent
processo em segundo plano na sua máquina. Esse agente armazenará em cache o par de chaves na primeira vez em que você o usar, para que você precise digitar sua senha de vez em quando. Se você dorme apenas o seu mac, nunca o reinicia, você pode passar longos períodos sem precisar digitar sua senha.Você pode pré-armazenar em cache todas as suas chaves SSH
ssh-agent
executando o seguinte:Agora você só precisa se lembrar da senha da chave , não das muitas senhas de conta diferentes. Normalmente, mantenho minhas senhas principais no 1Password (sem afiliação), simplificando ainda mais quantas senhas eu preciso lembrar. Depois, eu os pesquiso no 1Password e os recordo e colo no Terminal na hora ímpar em que reinicio o Mac e faço com que minha execução
ssh-agent
seja reiniciada.Se você combinar copiar sua chave para máquinas remotas com a solução de gerenciamento de conexão Terminal.app nesta pergunta , terá algo muito próximo da experiência de conexão PuTTY para GUI.
No lado do servidor, verifique
/etc/ssh/sshd_config
e verifique se:está ativado na configuração (por padrão no OpenSSH). Você também pode definir:
Enquanto você está lá, a autenticação baseada em senha é desativada e as chaves se tornam a única maneira de acessar a máquina.
Você precisará reiniciar o sshd na máquina se fizer alguma alteração no arquivo de configuração.
fonte
PasswordAuthentication yes
no lado do servidor e o PuTTY continuará funcionando como sempre em sua máquina Windows. Este não é um cenário de / ou - você pode permitir os dois tipos de autenticação no servidor. O PuTTY também suporta autorização de chave pública / privada como este FWIW. Você pode copiar seus~/.ssh/id_rsa*
arquivos para sua máquina Windows e importá-los para o PuTTY para autenticação no servidor. PuTTY, sob o capô, usa exatamente as mesmas bibliotecas OpenSSH se conectar comossh
no OS X.ssh-add
ainda funciona mesmo no Sierra (OS X 10.12). ObrigadoVocê pode usar o sshpass para salvar a senha e não precisará inserir todas as vezes, o que não é uma boa prática (problemas de segurança).
Siga as instruções para instalação do mac os x em: https://gist.github.com/arunoda/7790979
Quando você tiver o sshpass instalado, execute
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no [email protected]:2200
faça o mesmo com seus 5 servidores da web e você não precisará inserir a senha todas as vezes.
fonte
ssh -p 2200 [email protected]
ePassword: **********************
?ssh-copy-id
não faz parte da distribuição padrão do OS X.Além do material da chave pública / privada, o arquivo .ssh / config pode ser configurado para facilitar o uso de comandos ssh, como aliases, defaut usuário / porta por servidor, opções ssh, comandos proxy ...
Basicamente, qualquer coisa complicada que você possa colocar em um comando ssh também pode estar nesse arquivo.
fonte
Eu levei o Putty para o Mac como um pacote de aplicativos nativo, portanto não há necessidade de macports ou terminais se você não for um usuário técnico.
Mais informações com capturas de tela estão aqui: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
Felicidades,
fonte