This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:putty_conf [2022/08/08 15:51] jypeter Updated link to X server page |
other:putty_conf [2024/02/15 13:13] jypeter [Launching PuTTY/Pageant] Improved |
||
---|---|---|---|
Line 8: | Line 8: | ||
You can install the latest version of PuTTY directly from [[https://apps.microsoft.com/store/detail/XPFNZKSKLBP7RJ|Microsoft Store]], or download the latest [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|64-bit msi installer]] | You can install the latest version of PuTTY directly from [[https://apps.microsoft.com/store/detail/XPFNZKSKLBP7RJ|Microsoft Store]], or download the latest [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|64-bit msi installer]] | ||
+ | |||
+ | ==== Updating PuTTY ==== | ||
+ | |||
+ | Download the latest version, or just type ''winget upgrade --id XPFNZKSKLBP7RJ'' in a [[other:win10apps#windows_terminal|Windows Terminal]] | ||
===== Launching PuTTY/Pageant ===== | ===== Launching PuTTY/Pageant ===== | ||
- | You could directly launch PuTTY (''Start'' => ''PuTTY'' => ''PuTTY''), but it is actually **more efficient** to launch ''Pageant'', especially if you are often going to connect to the same server(s) | + | You could directly launch PuTTY (''Start'' => ''PuTTY'' => ''PuTTY''), but it is actually **more efficient** to use ''Pageant'' for opening terminals, especially if you are often going to connect to the same server(s) |
Starting ''Pageant'': ''Start'' => ''PuTTY'' => ''Pageant'' | Starting ''Pageant'': ''Start'' => ''PuTTY'' => ''Pageant'' | ||
Line 20: | Line 24: | ||
* It will seem that nothing happens when you start ''Pageant'', but you should get the ''Pageant'' icon at the bottom right of your screen.\\ {{ :other:putty_01_notes_v2.png?direct |}} | * It will seem that nothing happens when you start ''Pageant'', but you should get the ''Pageant'' icon at the bottom right of your screen.\\ {{ :other:putty_01_notes_v2.png?direct |}} | ||
- | * If you right click on the ''Pageant'' icon, you can manage sessions with the ''New Session'' option, use ''Saved Sessions'' profiles and manage //ssh keys// (''View Keys'', ''Add Key'').\\ You can also view/add //ssh keys// by double clicking on the pageant icon\\ {{ :other:putty_02.png?direct |}} | + | * If you right click on the ''Pageant'' icon, you can manage sessions with the ''New Session'' option, use ''Saved Sessions'' profiles and manage //ssh keys// (''View Keys'', ''Add Key'').\\ You can also view/add //ssh keys// by double-clicking on the ''Pageant'' icon\\ {{ :other:putty_02.png?direct |}} |
===== Configuring PuTTY ===== | ===== Configuring PuTTY ===== | ||
Line 49: | Line 53: | ||
* **Paste** text with the **middle button**\\ {{ :other:putty_05.png?direct |}} | * **Paste** text with the **middle button**\\ {{ :other:putty_05.png?direct |}} | ||
* In the ''Window'' => ''Appearance'' category: | * In the ''Window'' => ''Appearance'' category: | ||
- | * You can **choose a font more readable than the default one**!\\ We recommend the **Cascadia Code** font that comes with the [[other:win10apps#windows_terminal|Windows Terminal]] application (which means that you first have to **install //Windows Terminal// first**, but you will probably need it anyway) | + | * You can **choose a font more readable than the default one**!\\ We recommend the **Cascadia Code** font that comes with the [[other:win10apps#windows_terminal|Windows Terminal]] application (which means that you first have to **install //Windows Terminal// first**, but you will probably need it anyway)\\ IF //Windows Terminal// is not installed yet, you can select the modern **[[https://en.wikipedia.org/wiki/Consolas|Consolas]]** font in the list of available fonts |
* Use the ''Change...'' button in the ''Font settings'' section, and select ''Cascadia Code'' and ''Regular'' (you can also experiment with styles different from ''Regular'', and different font sizes)\\ {{ :other:putty_cascadia_font.png?direct |}} {{ :other:putty_cascadia_styles.png?direct |}} | * Use the ''Change...'' button in the ''Font settings'' section, and select ''Cascadia Code'' and ''Regular'' (you can also experiment with styles different from ''Regular'', and different font sizes)\\ {{ :other:putty_cascadia_font.png?direct |}} {{ :other:putty_cascadia_styles.png?direct |}} | ||
* In the ''Connection'' => ''Data'' category: | * In the ''Connection'' => ''Data'' category: | ||
- | * Specify your login name (on the LSCE servers) in **Auto-login username**. This way you won't have to type it when you connect to the Linux server!\\ {{ :other:putty_06.png?direct |}} | + | * Specify your login name (on the LSCE servers) in **Auto-login username**. This way you won't have to type it when you connect to the Linux server!\\ {{ :other:putty_06_v2.png?direct |}} |
+ | * You should also specify ''xterm-256color'' instead of the default ''xterm'' terminal type in the ''Terminal-type string'' field. This will allow you to display nicer colors in the terminals (for the applications that use fancy colors) | ||
+ | * You can later type ''msgcat --color=test'' in a terminal, and check if you get something like\\ {{ :other:putty_256colors.png?direct&200 |}} | ||
* In the ''Connection'' => ''SSH'' => ''Kex'' category: | * In the ''Connection'' => ''SSH'' => ''Kex'' category: | ||
- | * **<wrap hi>Unselect Attempt GSAPPI key exchange</wrap>**!\\ If you forget to do this, connecting to a server will seem to take forever (if it works at all)...\\ {{ :other:putty_gssapi.png?direct |}} | + | * **<wrap hi>Unselect Attempt GSSAPI key exchange</wrap>**!\\ If you forget to do this, connecting to a server will seem to take forever (if it works at all)...\\ {{ :other:putty_gssapi.png?direct |}} |
* In the ''Connection'' => ''SSH'' => ''Auth'' category: | * In the ''Connection'' => ''SSH'' => ''Auth'' category: | ||
* Select **Allow agent forwarding**. This is the same as [[/other:ssh#standard_usage|using ssh with the -A option]]\\ {{ :other:putty_07.png?direct |}} | * Select **Allow agent forwarding**. This is the same as [[/other:ssh#standard_usage|using ssh with the -A option]]\\ {{ :other:putty_07.png?direct |}} | ||
* In the ''Connection'' => ''SSH'' => ''X11'' category: | * In the ''Connection'' => ''SSH'' => ''X11'' category: | ||
- | * Select **Enable X11 forwarding**. This is the same as [[/other:ssh#standard_usage|using ssh with the -X option]]\\ {{ :other:putty_08.png?direct |}} | + | * Select **Enable X11 forwarding**. This is the same as [[/other:ssh#standard_usage|using ssh with the -X option]]\\ Note: remember that you will also need an [[other:x_conf|X server running]] in order to display graphics!\\ {{ :other:putty_08.png?direct |}} |
* When you have finished updating the settings, **do not forget to go back to ''Category'' => ''Session'' and Save the session**!\\ {{ :other:putty_09.png?direct |}} | * When you have finished updating the settings, **do not forget to go back to ''Category'' => ''Session'' and Save the session**!\\ {{ :other:putty_09.png?direct |}} | ||
Line 70: | Line 76: | ||
=== New profile for a direct connection to a remote server === | === New profile for a direct connection to a remote server === | ||
- | * Select an existing session (e.g. the [[#creating_a_new_session|ssh1 profile]] defined above) and click on **Load** | + | * Select an existing (and correctly configured) session (e.g. the [[#creating_a_new_session|ssh1 profile]] defined above) and click on **Load** |
* Update the values of the **Host Name** and **Saved Session** (the name of the new profile you want) text fields, and settings | * Update the values of the **Host Name** and **Saved Session** (the name of the new profile you want) text fields, and settings | ||
* Example: connecting to **LSCE from INSIDE LSCE**\\ (inside <=> computer connected to the wired network): | * Example: connecting to **LSCE from INSIDE LSCE**\\ (inside <=> computer connected to the wired network): | ||
* ''Host Name'' => ''obelix'' | * ''Host Name'' => ''obelix'' | ||
* ''Saved Session'' => ''obelix (direct connection)'' | * ''Saved Session'' => ''obelix (direct connection)'' | ||
- | * Example: connecting to [[https://documentations.ipsl.fr/MESO_User/Quick_start.html|ciclad]]: | + | * Example: connecting to [[https://documentations.ipsl.fr/spirit/spirit_clusters/head_nodes.html|spirit]]: |
- | * ''Host Name'' => ''ciclad.ipsl.upmc.fr'' | + | * ''Host Name'' => ''spirit1.ipsl.fr'' |
- | * ''Saved Session'' => ''ciclad'' | + | * <wrap em>WARNING!</wrap> You can only connect to spirit using a pair of //ssh keys//. Be sure to read the [[other:putty_conf#using_ssh_keys_with_putty_pageant|Using ssh keys with PuTTY/Pageant]] section below |
- | * do not forget to **specify your ciclad login** in: ''Connection'' => ''Data'' => ''Auto-login username'' | + | * You can also use ''spirit2'', ''spiritx1'' or ''spiritx2'' depending on [[https://documentations.ipsl.fr/spirit/spirit_clusters/head_nodes.html|which IPSL server you want to access]] |
- | * you will also need an [[other:putty_conf#using_ssh_keys|ssh key]] if you want to connect to ''ciclad'' !! | + | * ''Saved Session'' => ''spirit1'' |
- | * Go back to ''Category'' => ''Session'' and **Save** the session | + | * do not forget to **specify your IPSL login** in: ''Connection'' => ''Data'' => ''Auto-login username'' |
+ | * Go back to ''Category'' => ''Session'' and <wrap em>**Save** the session</wrap> | ||
=== New profile with a connection through a gateway === | === New profile with a connection through a gateway === | ||
* Select an existing //gateway// session (e.g. ''ssh1'') and click on **Load**.\\ For connecting to LSCE **from OUTSIDE LSCE**, select the [[#creating_a_new_session|ssh1 profile]]\\ If you are at LSCE, but use the //eduroam// or the //guest// **WiFi network**, you are considered as being //outside LSCE//! | * Select an existing //gateway// session (e.g. ''ssh1'') and click on **Load**.\\ For connecting to LSCE **from OUTSIDE LSCE**, select the [[#creating_a_new_session|ssh1 profile]]\\ If you are at LSCE, but use the //eduroam// or the //guest// **WiFi network**, you are considered as being //outside LSCE//! | ||
- | * In the ''Connection'' => ''SSH'' category, specify the command used to connect to the target server in the **Remote command** field\\ e.g. **for LSCE**, use: | + | * In the ''Connection'' => ''SSH'' category, specify the command used to connect to the target server from the //gateway//, in the **Remote command** field\\ e.g. **for LSCE**, use: |
* ''ssh -X -A obelix'' (check the [[other:ssh#standard_usage|useful ssh options]] for more details on the options)\\ {{ :other:putty_10b.png?direct |}} | * ''ssh -X -A obelix'' (check the [[other:ssh#standard_usage|useful ssh options]] for more details on the options)\\ {{ :other:putty_10b.png?direct |}} | ||
- | * Go back to ''Category'' => ''Session'', <wrap hi>specify a new profile name</wrap> in **Saved Sessions** (e.g. ''obelix via ssh1'') and **Save** the session\\ {{ :other:putty_11.png?direct |}} | + | * Go back to ''Category'' => ''Session'', <wrap hi>specify a new profile name</wrap> in **Saved Sessions** (e.g. ''obelix via ssh1'') and <wrap em>**Save** the session</wrap>\\ {{ :other:putty_11.png?direct |}} |
===== Daily usage of PuTTY/Pageant ===== | ===== Daily usage of PuTTY/Pageant ===== | ||
Line 115: | Line 122: | ||
* You can now connect to the remote server just by clicking on the desktop shortcut, instead of right-clicking on the ''Pageant'' icon! | * You can now connect to the remote server just by clicking on the desktop shortcut, instead of right-clicking on the ''Pageant'' icon! | ||
- | ===== Using ssh keys ===== | + | ===== Using ssh keys with PuTTY/Pageant ===== |
- | Read the [[other:ssh#using_ssh_keys|Using ssh keys]] section if you don't know what //ssh keys// are | + | <WRAP center round alert 60%> |
+ | In this section, we will use //key// files that have the same base name, and **different extensions**: e.g. ''id_ed25519'', ''id_ed25519**.pub**'' and ''id_ed25519**.ppk**'' | ||
+ | |||
+ | You should **make sure that you can [[other:win10config#displaying_hidden_folders_and_files_and_the_files_extension|see hidden folders, and files' extensions]]** before you go further! | ||
+ | </WRAP> | ||
+ | |||
+ | |||
+ | Read the [[other:ssh#using_ssh_keys|Using ssh keys]] section if you don't already know what //ssh keys// are | ||
<WRAP center round important 80%> | <WRAP center round important 80%> | ||
* **Do not lose** the (existing) ssh keys files you have, or the keys that you will create | * **Do not lose** the (existing) ssh keys files you have, or the keys that you will create | ||
- | * It's a very good idea to **keep a copy of these files** on another computer! | + | * It is recommended to **keep a copy of these files** on another computer! |
* **Do not forget** the passphrase that will be used to unlock the private key | * **Do not forget** the passphrase that will be used to unlock the private key | ||
+ | * If you save the passphrase in a file, **do not** put this file in the same place as the ssh keys | ||
+ | * Read [[other:ssh#some_common_sense_advice|Do not forget your passphrase!]] if you need some advice about passphrases | ||
- | * If you save the passphrase in a file, **do not** put this file in the same place as the ssh keys | + | * The best thing to do is probably to **store the //key// files in the standard [[other:ssh#configuration_files|ssh configuration directory]]** of each desktop/laptop/servers you use! |
- | + | ||
- | * Easiest thing to do is probably to store the key files in an ''ssh'' sub-directory somewhere | + | |
- | * We assume below that they keys are in a sub-directory of your [[other:win10config#the_most_important_folders|local HOME FOLDER]]\\ \\ <some_disk_different_from_c>:\Users\<your_login>\ssh\ | + | |
</WRAP> | </WRAP> | ||
+ | ==== Converting existing ssh keys with PuTTYgen ==== | ||
+ | If you already have a private ssh key generated on another computer (e.g. an ''id_ed25519'' text file), you just have to use ''PuTTYgen'' to **import the existing private key**, and then export it to a //converted// ''id_ed25519.ppk'' file that ''Pageant'' can use | ||
+ | * Move the ''id_ed25519'' key file to the [[other:ssh#configuration_files|Windows ssh configuration directory]] | ||
+ | * => ''C:\Users\your_windows_login\.ssh\id_ed25519'' | ||
- | Launching the ''PuTTY Key Generator'': ''Start'' => ''PuTTY'' => ''PuTTYgen'' | + | * Launch the ''PuTTY Key Generator'': ''Start'' => ''PuTTY'' => ''PuTTYgen'' |
- | ==== Converting existing ssh keys with PuTTYgen ==== | + | * Open the ''Conversions''=>''Import key'' menu\\ {{ :other:putty_21b.png?direct&300 |}} |
- | If you already have a private ssh keys generated on another computer (e.g. an ''id_rsa'' text file), you just have to use ''PuTTYgen'' to **import the existing private key**, and then export it to a //converted// ''.ppk'' file that ''Pageant'' can use | + | * Select the existing ''id_ed25519'' private key file (or another valid private key) and type the passphrase to unlock and import it |
- | * Import the key (and type the passphrase, when asked) with: ''Conversions''=>''Import key''\\ {{ :other:putty_21.png?direct&300 |}} | + | |
- | * Then click on the ''Save private key'' button, and create a ''id_rsa.ppk'' file (or ''any_name_you_want.ppk'')\\ {{ :other:putty_22.png?direct&300 |}} | + | * Click on the ''Save private key'' button, and create an ''id_ed25519.ppk'' file in the [[other:ssh#configuration_files|Windows ssh configuration directory]] |
+ | * => ''C:\Users\your_windows_login\.ssh\id_ed25519.ppk'' | ||
==== Creating ssh keys with PuTTYgen ==== | ==== Creating ssh keys with PuTTYgen ==== | ||
- | If you don't have a set of ssh keys, follow the steps below to **create private and public keys** | + | If you don't already have an existing set of //recent-enough// ssh keys, follow the steps below to **create a set of private and public keys**. |
+ | |||
+ | Notes: | ||
+ | * by //recent-enough//, we mean ssh keys of type //rsa// and preferably //ed25519// (//dsa// is deprecated) | ||
+ | * extra technical details (that you can probably safely ignore) are available in the official [[https://the.earth.li/~sgtatham/putty/0.78/htmldoc/Chapter8.html#pubkey-puttygen|Using PuTTYgen, the PuTTY key generator]] documentation | ||
+ | |||
+ | Steps: | ||
+ | |||
+ | * Launch the ''PuTTY Key Generator'': ''Start'' => ''PuTTY'' => ''PuTTYgen'' | ||
+ | |||
+ | * Make sure that the selected //Type of key to generate// (at the bottom of the ''PuTTYgen'' window) is ''EdDSA'' (short for //Edwards-curve DSA//), with the default ''255'' bits.\\ This will generate **//ed25519// keys** that are now recommended on the IPSL servers | ||
+ | * {{:other:putty_23b.png?direct&500|}} | ||
+ | * You could also use ''RSA'' and ''4096'' bits, but ''ed25519'' keys are now recommended to access the [[https://documentations.ipsl.fr/spirit/spirit_clusters/head_nodes.html|IPSL servers]] | ||
- | * Make sure that the type of key (at the bottom of the ''PuTTYgen'' window) is ''RSA'' and that the number of bits is ''4096'' | ||
* Click on the ''Generate'' button and move your mouse to generate some random information | * Click on the ''Generate'' button and move your mouse to generate some random information | ||
+ | |||
* Type your ''Key passphrase'' and confirm it | * Type your ''Key passphrase'' and confirm it | ||
- | * Click on the ''Save private key'' button, and create a ''id_rsa.ppk'' file (or ''any_name_you_want.ppk'')\\ {{ :other:putty_23.png?direct&400 |}} | + | * Read [[other:ssh#some_common_sense_advice|Do not forget your passphrase!]] if you need some advice about passphrases |
- | * Click on the ''Save public key'' button, and create a ''id_rsa.pub'' file | + | |
- | * You will need to [[other:ssh#installing_ssh_keys|install the public key]] on all the remote Linux server that you want to connect to using the ssh agent, instead of typing your password | + | * Click on the ''Save private key'' button, and create the ''id_ed25519**.ppk**'' **Pageant //private// key file** |
- | * Click on ''Conversions''=>''Export OpenSSH key'', and create a (standard) ''id_rsa'' file\\ You will not need this file with Putty, but it is just in case you need to use your private key later on a Linux computer | + | * We recommend that you save this file in the the Windows [[other:ssh#configuration_files|ssh configuration directory]]\\ => ''C:\Users\your_windows_login\.ssh\id_ed25519.ppk'' |
+ | * Note: files with a ''.ppk'' extension can only be used by ''PuTTY''/''pageant''. That's why you also need to //export// the private key, as shown below | ||
+ | |||
+ | * **Important!** Click ''Conversions''=>''Export OpenSSH Key'' and create the ''id_ed25519'' **standard //private// key file** (a text file with **no** ''.ppk'' extension) | ||
+ | * => ''C:\Users\your_windows_login\.ssh\id_ed25519'' | ||
+ | * You will not need this file when you use ''PuTTY'', but you may need to use this private key in a standard text format later, on Linux computers/servers | ||
+ | |||
+ | * Open a text editor and create the ''id_ed25519**.pub**'' **standard //public// key file** | ||
+ | * => ''C:\Users\your_windows_login\.ssh\id_ed25519.pub'' | ||
+ | * Save the content of the ''Public key for pasting into OpenSSH authorized_keys file'' field in the ''id_ed25519**.pub**'' file\\ Something looking like\\ <code>ssh-ed25519 AAAAC3NzaC1lZDI[... lots of characters ...]vwjLNmY eddsa-key-20230310</code> | ||
+ | * This is the **//public// key** that you will need to [[other:ssh#installing_ssh_keys|install]] on all the remote Linux server that you want to connect to using the ssh agent, instead of typing your password | ||
+ | |||
+ | * **WARNING!** Do **not** use the ''Save public key'' button to create the public key file, because the resulting file will not be standard enough to be used directly on Linux computers | ||
==== Using the private key in Pageant ==== | ==== Using the private key in Pageant ==== |