Como a SSH a seu usuário remoto sem incorporar uma senha todas as vezes

por Sukrit Dhandhania em Dezembro 17, 2008

Linux

Eu necessito remotamente SSH em meus usuários de Linux completamente frequentemente, e é uma dor a ter que recordar assim muitas senhas e datilografá-las cada vez que eu quero logon. Eu descobri recentemente que uma maneira pura pode SSH em meus usuários sem datilografar em uma senha. OpenSSH permite também que você execute comandos remotamente, e não tendo que incorporar uma senha ao fazer assim meios que eu posso funcionar algumas tarefas automatizadas remotamente. Outra vez, isto pode ser muito útil. Para todos os cínicos para fora lá este método é completamente seguro. No fato, em minha opinião é provavelmente mais seguro do que incorporando uma senha. Vamos começar começado com ajuste - acima de uma conexão da senha-menos a um usuário remoto. Anote que este processo trabalhará somente em um Linux ou em uma máquina do UNIX. O processo próprio em direto bonito.

A primeira etapa é criar uma chave pública para fazer um authentication seguro ao usuário. Lance um terminal do escudo em seu desktop de Linux e funcione o seguinte comando:

# ssh-keygen - rsa de t
Par público/confidencial gerar do rsa da chave.
Entre na lima em que para conservar a chave (/home/calvin/.ssh/id_rsa):
Entre no passphrase (esvazíe para nenhum passphrase):
Entre no mesmo passphrase outra vez:
Sua identificação foi conservada em /home/calvin/.ssh/id_rsa.
Sua chave pública foi conservada em /home/calvin/.ssh/id_rsa.pub.

Esta etapa gera a chave pública e armazena-a na lima /home/calvin/.ssh/id_rsa.pub. Quando perguntada que lima você quer a chave ser escrito, apenas a batida entra para escolher a opção sugerida. Similarmente, quando alertado para um passphrase bata apenas a chave de entrada duas vezes. Esta lima é armazenada em seu diretório home, no .ssh o dobrador que prende a configuração de todo o usuário de SSH arquiva. Assim, em seguida, você necessita copí esta lima ao usuário a que você quer pode SSH sem uma senha.

# scp ~/.ssh/id_rsa.pub username@remoteserver.com: /home/username/

Substitua ambos os exemplos de username no comando acima com o username você usa-se logon a seu usuário remoto, e remoteserver.com com o nome de anfitrião ou o IP address do usuário remoto. Agora SSH nesse usuário e adicionam a chave pública do seu desktop à configuração de SSH do usuário:

# ssh username@remoteserver.com
# gato ~/id_rsa.pub >> ~/.ssh/authorized_keys2

Em seguida, você necessita ajustar a permissão da lima ~/.ssh/authorized_keys2 corretamente:

# chmod 644 ~/.ssh/authorized_keys2

This is not always required, but I’ve been stuck with problems caused by permission issues many times, besides it does not hurt to set the permissions right. You’re done now. Exit the SSH connection to your remote server and ssh in again. You should now not be prompted for a password.

Now you can do lots of cool things on your remote server. For example, run the command:

# ssh username@remoteserver.com “uptime; df -h”

The command should give you the desired output from your remote server directly on your local shell, without prompting you for your password. You can also copy files to or from your remote server without worrying about having to enter a password. This means you can do things like download you daily backup from your remote server to your local desktop everyday using a simple shell script. This is quite a powerful tool. Use it with caution.

Related Posts:
  • How to stream audio and video from your Mac to your iPhone or iPod Touch
  • How to disable Remote Assistance and Remote Desktop in Windows XP
  • How to reset a lost MySQL root password
  • How to mount a remote filesystem in Ubuntu
  • How to control Winamp from your iPhone, iPod Touch or web browser
  • Get Simple Help tutorials just like this one in your email inbox every day - for free! Just enter your email address below:

    You can always opt out of this email subscription at any time.


    Bookmark and Share

    { 1 trackback }

    Daily Lifestream Digest for 2009-01-04
    01.04.09 at 7:38 pm

    { 3 comments… read them below or add one }

    1 Justin Ellison 12.17.08 at 2:28 pm

    For any cynics out there this method is quite secure. In fact, in my opinion it is probably more secure than entering a password.

    Umm… I completely disagree. There are cases where using a blank passphrase on a key is convenient, and even sometimes where it’s necessary, but it’s not as secure as using a passphrase.

    If I successfully compromise your workstation, if you don’t secure your private key with a passphrase, it’s really</b. game-over. Not only will I have control of your workstation, but I will have free reign on all the remote boxes that you’ve setup key-based authentication to. If you secure the private key with a passphrase, I will only have control of your workstation.

    It’s not something that’s inherently insecure, but it’s something that readers should be made aware of.

    Justin

    2 myhnet 12.29.08 at 3:55 pm

    hmmm, now, we just use a command called “ssh-copy-id” to copy the public key to remote servers, you need to use cat, scp, it makes everything quite easier now.

    see my website:
    http://blog.myhnet.cn/2008/12/30/how-to-ssh-to-your-remote-server-without-entering-a-password-every-time

    3 Matt Simmons 12.31.08 at 12:59 pm

    @Justin & Sukrit

    Your best bet is to use a key-agent to manage your pass phrases. I wrote about methods of allowing the agent to run in the background of servers on my blog a while back:

    http://standalone-sysadmin.blogspot.com/2008/11/host-to-host-security-with-ssh-keys.html

    Leave a Comment

    You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>