Como se conectar ao ssh com o diretório .ssh?

1

Meu colega de trabalho me enviou um diretório '.ssh' com arquivos nele. Ele disse que eu posso colocar esse diretório no meu diretório de usuário e depois conectar ao ssh sem senha (ssh root @ ip).

Eu coloquei esse diretório no meu diretório home e tentei o ssh root @ ip, mas não funcionou.

Estou sentindo falta de algo?

    
por Moon 09.05.2011 / 02:40

3 respostas

5

Duas coisas aqui.

1) Seu colega de trabalho lhe enviou um diretório .ssh (idéia horrível btw, mas isso é outro problema ...) Aqui dentro há um arquivo chamado authorized_keys que contém uma ou várias "chaves públicas SSH". A "conexão sem frase-senha" sobre a qual ele está falando acontece quando você se conecta e oferece uma chave privada e o sistema reconhece uma chave pública correspondente em .ssh / authorized_keys. Se você não tiver dito a chave privada ssh, esta pasta é essencialmente inútil. Essa chave precisa estar no lado do cliente e não no lado do servidor. Olhe dentro da pasta .ssh, existe um arquivo id_rsa? se assim for copiar isso para o seu cliente e carregá-lo dentro Pagent ou dentro Putty.

2) Você disse que colocou isso dentro do seu diretório home, digamos / home / Moon. Agora você tenta logar como root @ ip.

O SSH irá procurar dentro do /root/.ssh/ pelos arquivos NOT /home/moon/.ssh/ porque você tentou logar como root NOT como Moon. Dependendo da sua distro, você pode entrar em sua conta e sudo ou su para root. Colocar uma chave sem senha para a raiz é horrível.

Finalmente, uma palavra de aviso .. seu colega de trabalho lhe deu seu diretório .ssh que contém um arquivo authorized_keys para uma chave privada desconhecida. A menos que você realmente confie em seu colega de trabalho, essa é uma idéia horrível. Se a sua pasta pessoal tiver um diretório .ssh com a chave pública de outra pessoa no arquivo authorized_keys, ela poderá efetuar login no usuário SEM fornecer a senha do sistema. Essencialmente, seu colega de trabalho pode fazer login como você e fazer o que ele quiser com o seu nome, e ninguém poderá provar o contrário.

Se você quiser fazer isso sozinho e faça corretamente, faça o seguinte.

  1. Conectado como seu tipo de usuário normal no comando

    ssh-keygen -t rsa

  2. Siga os prompts, selecione padrão para tudo (no entanto, eu recomendo que você digite uma senha para sua chave).

  3. Copie sua chave pública para o arquivo de chaves autorizadas, excluindo o conteúdo antigo.

    cat ~ / .ssh / id_rsa.pub > ~ / .ssh / authorized_keys

  4. Copie o arquivo ~ / .ssh / id_rsa para o seu computador cliente, usando Pagent, Putty, ssh -i ou algum outro gerenciador de chaves load / id_rsa aberto. Agora SSH para yourusername @ ip e você não precisará de um prompt.

por 09.05.2011 / 04:19
0

O diretório .ssh deve (se o seu colega de trabalho fez isso corretamente) conter uma chave pública que você precisa adicionar ao seu arquivo de chaves autorizado. Abra um terminal e digite cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(Isso pode não ser o comando correto, o diretório que você foi enviado deve ter um arquivo .pub, gato que em vez disso, o que é chamado)
Você provavelmente também deve sugerir a eles que enviar o diretório SSH inteiro é uma idéia muito ruim, pois agora você tem a chave privada dele. Também quaisquer chaves previamente autorizadas ou hosts conhecidos foram sobrescritos, eles devem ter enviado apenas o arquivo id_rsa.pub.
Como alternativa, seu sshd pode não estar configurado para permitir a autenticação baseada em chave, consulte os documentos para obter instruções específicas sobre como fazer isso.

    
por 09.05.2011 / 02:45
0

Outra possibilidade: dependendo de como você extraiu o diretório .ssh, você pode não possuir os arquivos que criou (o que é um pré-requisito para a maioria das versões do ssh se conectarem). Experimente chown -R $USER. ~/.ssh e chmod -R g-rwx,o-rwx ~/.ssh .

    
por 09.05.2011 / 04:07

Tags