7
I have to connect a Linux server via SSH, using Putty as a client, many times a day and every time I need to put user and password.
I have seen a person performing connection without using user and password, as this is possible?
7
I have to connect a Linux server via SSH, using Putty as a client, many times a day and every time I need to put user and password.
I have seen a person performing connection without using user and password, as this is possible?
6
Access is done using public/private keys.
First you need to generate your private key (If you use git you probably already have one)
ssh-keygen -t rsa
After generating the public key, send it to the server
scp ~/.ssh/id_dsa.pub USUARIO_REMOTO@SERVIDOR:/home/USUARIO_REMOTO/.ssh/
Finally enable the key on the server.
cd ~/.ssh/
cat id_dsa.pub >> authorized_keys
chmod 644 authorized_keys
Done this, the next time you log into the server ssh user@host
, no need to add password.
It works well for Linux. But the question says that the client is using Putty (Windows)
@Andre in the case of Putty, just use the command pscp
on the site of scp
. Remember that the Putty directory must be registered in the windows PATH environment variable so that this is available at the prompt.
ssh-keygen exists in Windows? I don’t think there is... The question is about Putty (although it is marked as Linux and ssh) and the answers should also be. I put a comment with a link to a tutorial in the question. I think it will help a little more who asked than information on how to do this on Linux.
@Andre The fact of asking contain Putty went unnoticed when I posted the answer, since I was seeing the [Linux] tag. I believe your comment correctly answers the question.
"After generating the private key, send it to the server" I think you mean "send the key public to the server, "no? (at least your code is sending the file .pub
)
@mgibsonbr Thank you, corrected the typo.
1
Consider that you have two servers: SERVIDOR1 and SERVIDOR2.
In SERVIDOR1, generate RSA key:
cd
ssh-keygen -t rsa
Expected result for this command:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Created directory '/home/usuario/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_rsa.
Your public key has been saved in /home/usuario/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:xx:79:xx:9f:96:xx:3b:ad:xx:58:37:bc:37:e4 usuario@S1
Provide the correct permissions:
chmod -v 600 .ssh/id_rsa
In SERVIDOR2, create the ~/ssh folder inside the home and create the authorized_keys file
cd
mkdir ~/.ssh
touch .ssh/authorized_keys
In SERVIDOR1, display the created key.
cat .ssh/id_rsa.pub
Copy and paste the generated key result
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuo0vDDu7vMhc7hum1bgNool+IMfPrt77dZOVAY9fIm1jm8oL57wXXMUe/lcJox+f3YkvGxZMLRUbvM4
Go back to SERVIDOR2, get . ssh/authorized_keys , and paste the key contents. Then give a CHMOD 600.
cd
nano .ssh/authorized_keys
chmod -v 600 .ssh/authorized_keys
Ready! Now you can do SERVIDOR2 pro SERVER 1 SSH without typing password.
root@servidor:~# ssh 177.10.20.30
The authenticity of host '[servidor1]:64413 ([177.XX.XX.101]:22)' can't be established.
RSA key fingerprint is SHA256:UbCvey971joqLCsFUc3WBEyTNVEFd2/1Irh6RWMo7xM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[servidor1]:22' (RSA) to the list of known hosts.
Last login: Mon Jun 20 13:01:19 2016 from 186.242.115.87
You can read this full article in more detail: https://www.homehost.com.br/blog/ssh-chave-remota-sem-pedir-senha/
1
This is common in AWS, when you use a . pem file to log in to the machine. The command is something like:
# ssh -i ~/.<usuario>.pem <user>@<host>
... and you are already logged in.
Take a look at this article to see if it helps you: https://serverfault.com/questions/9708/what-is-a-pem-file-and-how-does-it-differ-from-other-openssl-generated-key-file
Browser other questions tagged linux ssh
You are not signed in. Login or sign up in order to post.
I found an English tutorial on how to do this on linux, I don’t know if it really picks up. Linuxhorizon and Page Translation with Google Translator
– Mega
Simple: Enter your public key in the authorized_keys of the server in question.
– Fábio Jansen
Since I did not write this post and there should not be a response with only the link, take a look at this address: http://www.tonido.com/blog/index.php/2009/02/20/ssh-without-password-using-putty/#. Uupbnnddv_g
– Andre