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|*]]. |