Differences

This shows you the differences between the selected revisions of the page.

guide_public_key 2009-11-22 guide_public_key 2023-12-06 (current)
Line 1: Line 1:
-====== Set up public key authentication ====== +====== Set up SSH public key authentication ====== 
-//This guide contains description of setting up public key authentication for use with WinSCP.//.+//This guide contains a description of setting up public key authentication for use with WinSCP. You may want to learn more about [[public_key|public key authentication]] or [[ssh_keys|SSH keys]] instead//. 
 + 
 +===== Before Starting =====
Before starting you should: Before starting you should:
  * [[guide_install|Have WinSCP installed]];   * [[guide_install|Have WinSCP installed]];
-  * Have OpenSSH-based server (the most common); 
  * [[guide_connect|Know how to connect to the server without public key authentication]].   * [[guide_connect|Know how to connect to the server without public key authentication]].
-===== Generate Key Pair ===== +===== [[generate]] Generate Key Pair ===== 
-Start with [[public_key#generate|generating key pair]].+If you do not have a key pair yet, start with [[public_key#generate|generating new key pair]]. 
 + 
 +===== [[server]] Configure Server to Accept Public Key ===== 
 +Connect to your SSH server using WinSCP with the %%SSH%% protocol, using other means of authentication than public key, e.g. typically using password authentication. 
 + 
 +Once logged in, configure your server to accept your public key. That varies with %%SSH%% server software being used. The most common %%SSH%% server is OpenSSH. 
 + 
 +==== [[configure_openssh]] OpenSSH ==== 
 + 
 +You can use //Session (Tabs) > Install Public Key into Server// command on the main window, or //Tools > Install Public Key into Server// command on //[[ui_login_authentication|SSH > Authentication page]]// page on Advanced Site Settings dialog. The functionality of the command is similar to that of OpenSSH ''[[https://manpages.debian.org/stable/openssh-client/ssh-copy-id.1.en.html|ssh-copy-id]]'' command. 
 + 
 +Or you can configure the key manually: 
 + 
 +  * Navigate into a ''.ssh'' subdirectory of your account home directory. You may need to enable [[ui_pref_panels#common|showing hidden files]] to see the directory. If the directory does not exist, you need to [[task_create_directory|create it]] first. 
 +  * Once there, open a file ''authorized_keys'' for [[task_edit|editing]]. Again you may have to create this file, if this is your first key. 
 +  * Switch to the [[ui_puttygen|PuTTYgen]] window, select all of the text in the //[[ui_puttygen#authorized_keys|Public key for pasting into OpenSSH authorized_keys file]]// box, and copy it to the clipboard (''Ctrl+C''). Then, switch back to the editor and insert the data into the open file, making sure it ends up all on one line. Save the file. WinSCP can [[ui_login_authentication#private_key_tools|show you the public key]] too. 
 +  * Ensure that your account home directory, your ''.ssh'' directory and file ''authorized_keys'' are not group-writable or world-writable. Recommended permissions for ''.ssh'' directory are ''700''. Recommended permissions for ''authorized_keys'' files are ''600''. Read more about [[task_properties|changing permissions]]. 
 + 
 +==== OpenSSH on Windows ==== 
 + 
 +There are some specifics when setting up the [[guide_windows_openssh_server#key_authentication|public key authentication on OpenSSH server on Windows]]. 
 + 
 +==== ssh.com ==== 
 + 
 +  * [[ui_puttygen#saving_public|Save a public key file]] from [[ui_puttygen|PuTTYgen]], and copy that into the ''.ssh2'' subdirectory of your account home directory. 
 +  * In the same subdirectory, [[task_edit|edit]] (or create) a file called ''authorization''. In this file you should put a line like ''Key mykey.pub'', with ''mykey.pub'' replaced by the name of your key file. 
 + 
 +==== Other SSH Servers ==== 
 +For other %%SSH%% server software, you should refer to the manual for that server. 
 + 
 +===== [[winscp]] Configure WinSCP Session ===== 
 +When configuring session, specify path to your private key on //[[ui_login_authentication|SSH > Authentication page]]// of Advanced Site Settings dialog. 
 + 
 +Alternatively, load the private key into [[ui_pageant|Pageant]]. 
 + 
 +===== Public Key Authentication in Clouds ===== 
 + 
 +Cloud providers have typically their own mechanism to setup a public key authentication to virtual servers running in the cloud. 
 + 
 +For details see guides for connecting to: 
 + 
 +  * [[guide_amazon_ec2|Amazon EC2]]; 
 +  * [[guide_google_compute_engine|Google Compute Engine]]; 
 +  * [[guide_microsoft_azure|Microsoft Azure]].
 +===== Further Reading =====
 +  * [[public_key|*]];
 +  * [[ui_puttygen|*]];
 +  * [[ssh_keys|*]].

Last modified: by martin