Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I am really new to Putty and Puttykey generator as I am trying to setup EC2 on AWS. I have managed to install PuTTy on my Mac, and PuTTy works fine, but every time I click on PuTTykey Generator I see a message (please see the snap attached) and no pop up window. how do I get it to work? I have Mac Mojave.
the reason why you use puttygen is to generate the ssh-key pair especially on windows systems. You don't generally need to use putty key generator on mac since Mac OS has a built-in command-line SSH client known as Terminal.
To use terminal, go to Finder and then click the menus Go -> utilities from the top menu. After that find the terminal which supports SSH connections to remote servers.
You can run ssh-keygen to generate an ssh key pair.
ssh-keygen
reference (how to use ssh-keygen to generate a keypair):
https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/create-with-openssh/
I am not sure about the reason why you are trying to use puttygen through.
If you simply like to login to your ec2 instance via ssh (using the keypair from ec2), you can use ssh command as below.
ssh -i `~/Downloads/my.pem` ec2-user#[ip-address]
by the way, The reason why you are seeing an output like the one you shared is, when you run puttygen is, it's a command line utility and it's expecting some mandatory command line arguments to be passed.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
I'm following this tutorial to set up my first DigitalOcean droplet, and I just generated a Key Pair for Public Key Authentication. After using ssh-copy-id (from Git Bash, since the command isn't available in Command Prompt) to add the key to my Droplet, I can SSH into my droplet just fine from Command Prompt.
However, when I try to SSH from Git Bash, it still prompts me for my password! I've checked, and the SSH keys exist on my Droplet and on my computer. What's the problem?
You can load the key by running ssh-add path-to-private-key
ssh-add /Users/ben/id_rsa
The predefined path is UserHome -> .ssh -> private-key & public-key
/c/Users/USERNAME/.ssh/id_rsa
/c/Users/USERNAME/.ssh/id_rsa.pub
There are restrictions to the name of the file as well as the location. Following are the known filenames that SSH agent will look for that I can think on top of my head:
identity
id_dsa
id_rsa
These names are generally determined by the Type you've used to generate them. Most commonly used is rsa which creates id_rsa and id_rsa.pub.
Also, most Windows user uses Putty as the SSH daemon. It works pretty well. The best thing about that is it has GUI to set the specific private key so it loads that every time without having to do any of the above stuff.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 7 years ago.
Improve this question
This may seem like a silly question, and I think already know the answer, but I haven't been able to confirm it yet.
When using PuTTY to establish an SSH connection to another machine, does the target machine have to have PuTTY installed on it too?
My assumption is that the SSH connection is independent of PuTTY, as PuTTY is just the utility that is being used to establish that kind of connection, and thus it is not required to be installed on the target machine.
Is this correct?
Short answer: no.
PuTTY doesn't have to be installed on the remote machine, but something does. As a comparison, your web browser (Firefox, Chrome, etc) is an HTTP client which talks to an HTTP server (Apache, Nginx, etc) on Stack Overflow's server. In the same way, PuTTY is an SSH client on your Windows machine which talks to an SSH server somewhere else.
If you're connecting to a Linux/Unix based system, you don't really have to think about that, because the SSH server software is installed and set up by default, but if it wasn't there, there's nothing PuTTY can talk to. If the remote computer is running Windows, it is unlikely to have an SSH server running on it unless somebody has specifically set something up - although I read somewhere that the PowerShell team are working on adding one.
The answer is no. Putty is not required on the target machine.
You are correct; PuTTY is to SSH as FileZilla is to FTP: just a utility.
The target machine doesn't need PuTTY.
As you think : Putty is just a tool. If you want to use SSH just check that the target has SSH enabled.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 7 years ago.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Improve this question
So I am in the process of setting up my own server for the first time using Vultr and I'm following a guide from DigitalOcean. The server is on Ubuntu but I am using Windows 10. I've been doing everything through the console that's logged into my server but now I'm trying to generate SSH keys locally and I'm not quite sure how to do this. I'm pretty new to this and I don't know if this is easily done through Windows 10. The tutorial states..
Generate a Key Pair
If you do not already have an SSH key pair, which consists
of a public and private key, you need to generate one.
If you already have a key that you want to use,
skip to the Copy the Public Key step.
To generate a new key pair, enter the following command at the
terminal of your local machine (ie. your computer):
local$ ssh-keygen
Assuming your local user is called "localuser",
you will see output that looks like the following:
ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):"
I can do all this on the terminal I use that's logged in to my server but I can't figure out how to do this locally on my computer. Any help would be appreciated. Thanks.
You could install Cygwin, and get the openssh command-line utilities via its installer. That might be more involvement than you want with Windows.
The easier way would be to install PuTTY, use the puttygen utility to create a PuTTY private key. You can export the public key in openssh format, and use it on your server. (puttygen does the same function as ssh-keygen, using a GUI - but PuTTY's key format is different...)
DigitalOcean has a page on that: How To Create SSH Keys with PuTTY to Connect to a VPS
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
Why is this not working? I am trying to automate this in bash script but I am still prompted for a yes....
echo "yes" | ssh -T git#github.com
The authenticity of host
'github.com (192.30.252.129)' can't be established. RSA key
fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are
you sure you want to continue connecting (yes/no)?
#Barmar deserves credit for the crucial pointer: disable option StrictHostKeyChecking to suppress the prompt altogether:
ssh -o StrictHostKeyChecking=no -T git#github.com
Note, however, that:
suppressing or auto-confirming the authenticity prompt is not recommended for security reasons
on a given machine, once you've connected to a remote host for the first time and have confirmed the prompt, you will not be prompted again, because that hosts's fingerprint will automatically be saved to configuration file ~/.ssh/known_hosts.
Thus, if feasible, the better option is to save the fingerprints of all potential target hosts to ~/.ssh/known_hosts or /etc/ssh/ssh_known_hosts up front, as #chepner recommends in a comment.
Note, though, that if a remote host['s hard drive] is replaced (e.g., after hardware failure) without transferring its old own-identity fingerprint file, the authentication warning prompt will reappear due to generation of a new fingerprint - unless that new fingerprint is again saved on accessing machines beforehand.
As #Ian Roberts points out, the reason that just piping a response via stdin doesn't work is presumably that ssh reads the response directly from the terminal.
As #konsolebox points out, if you do need to automate interaction with ssh, expect (see man expect) is the right tool for the job, but since this generally involves automating password entry, it comes with security caveats.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 years ago.
Improve this question
I just switched from PC to Mac. I had been connecting to a server via SSH using a key on the PC. I thought all I'd have to do to connect on the Mac would be copy the .ssh directory into my home directory and then run the ssh command in the terminal with the right credentials, but it doesn't seem to be working.
When I run this command;
ssh [user]#[hostname] -p 2222
I get this result;
Permission denied (publickey).
In my .ssh directory, there are three .pub files and three key files with no extension. There's also a known_hosts file and a key_backup directory with some keys in it.
Supposing you did copy the correct keys, you need to add your identities to ssh-agent. Try the following:
ssh-add /Users/<username>/.ssh/id_rsa
Where <username> is your username and id_rsa is a private key. It's important to use the absolute path. Upon success, you'll see something like:
Identity added: /Users/johndoe/.ssh/id_rsa (/Users/johndoe/.ssh/id_rsa)
Repeat for every key you want.
As long as you get the proper private key that matches the public key that is stored on the remote platform what you described is correct.
You can add in up to three -v on the ssh command to get more debug information. This can confirm it is using the proper keys. Other things to verify is that the owenership and permissions of the keys on both the Mac and the remote boxes are restricted to the user, and none other.