User Tools

Site Tools


infrastructure:ssh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
infrastructure:ssh [2018-05-15 14:57] – created mrksinfrastructure:ssh [2021-01-26 21:23] (current) – mrks
Line 1: Line 1:
 ====== SSH ====== ====== SSH ======
  
-===== SSH on Windows with smartcard authentication =====+===== Use SSH keys =====
  
-  - Install Kitty http://www.9bis.net/kitty/ +In case there is no ''authorized_keys'' file yet, create one:
-  - Import the certificate +
-    - Run kageant.exe +
-    - Right click kageant tray icon +
-    - Add certificate +
-    - Choose certificate +
-  - Login using smartcard authentication +
-    - Ensure that kageant.exe is still running in the system tray +
-    - Run Kitty +
-    - Connection | SSH | Auth | [x] Attempt authencation using Pageant +
-    - Optionally disable "Attempt keyboard-interactive auth (SSH-2)" to prevent a password login and force the smartcard use +
-    - Optionally enable "Allow agent forwarding" to enable further logins via smartcard authentication+
  
 +  * ''mkdir ~/.ssh''
 +  * ''nano ~/.ssh/authorized_keys''
 +  * Paste the public key to the file
  
-===== Converting X509 certificate to SSH public key =====+Set the permissions for the ''.ssh'' folder and the ''authorized_keys'' file:
  
-  - Export in Windows +  * ''chmod 700 ~/.ssh'' 
-    - certmgr.msc +  * ''chmod 600 ~/.ssh/authorized_keys'' 
-    - Browse to certificate + 
-    - Open certificate (double-click) + 
-    - Details +===== SSH and SCP on Windows with smartcard authentication ===== 
-    - Export to file + 
-    - (*) No, don't export private key +  * Get pageant from [[https://github.com/risacher/putty-cac|putty-cac]] 
-    - (*) Base-64 encoded X.509 (.CER) +  * Import a smartcart certificate 
-  - ''> openssl x509 -in certificate.cer -pubkey -noout > certificate.pem'' +    * Run pageant.exe 
-  - ''> ssh-keygen -i -m PKCS8 -f certificate.pem''+    * Right click pageant try icon 
 +    * Add CAPI cert 
 +    * Choose certificate 
 +  * Automatically import a smartcard certificate: 
 +    * Get fingerprint from certificate 
 +      * ''certmgr.msc'' 
 +      * Browse to certificate, e.g. "Personal/Certificates" ("Eigene Zertifikate/Zertifikate") 
 +      * Open certificate by double-clicking or right-click and "Open" 
 +      * "Details | Thumbprint" ("Fingerabdruck") 
 +      * Copy fingerprint and remove the spaces 
 +    * Run: ''pageant.exe CAPI:{fingerprint}'' 
 +  * PuTTY using smartcard authentication 
 +    * Ensure that pageant.exe is still running in the system tray 
 +    * Run Putty 
 +    * Connection | SSH | Auth | [x] Attempt authencation using Pageant 
 +    * Optionally disable "Attempt keyboard-interactive auth (SSH-2)" to prevent a password login and force the smartcard use 
 +    * Optionally enable "Allow agent forwarding" to enable further logins via smartcard authentication 
 +  * PLink using smartcard authentication 
 +    * Ensure that pageant.exe is still running in the system tray 
 +    * ''plink.exe -agent user@host'' 
 +    * Optioanlly use ''-A'' for agent forwarding 
 +  * WinSCP using smartcard authentication: 
 +    * Ensure that pageant.exe is still running in the system tray 
 +    * Advanced settings | SSH | Authentication | [x] Try authentation using Pageant 
 +    * Optionally disable "Attempt keyboard-interactive Authentication" to prevent a password login and force the smartcard use 
 + 
 + 
 +===== Converting CAPI X509 certificate to SSH public key ===== 
 + 
 +  * Using OpenSSL 
 +    * Export in Windows 
 +      * certmgr.msc 
 +      * Browse to certificate 
 +      * Open certificate by double-clicking or right-click and "Open" 
 +      * Details 
 +      * Export to file 
 +      * (*) No, don't export private key 
 +      * (*) Base-64 encoded X.509 (.CER) 
 +    * Run: ''openssl x509 -in certificate.cer -pubkey -noout > certificate.pem'' 
 +    * Run: ''ssh-keygen -i -m PKCS8 -f certificate.pem'' 
 +    * The SSH key is displayed 
 +  * Using PuTTY-CAC 
 +    * Open PuTTY-CAC 
 +    * Connection > SSH > Certificate > Set CAPI Cert... 
 +    * Certificate string for authorized keys file: Copy to Clipboard 
 +===== Using Pageant with SSH in Cygwin and MinGW ===== 
 + 
 + 
 +  * Get ssh-pageant.exe from [[https://github.com/cuviper/ssh-pageant/releases|ssh-pageant]] 
 +  * Cygwin 
 +    * Install in Cygwin (do not copy paste the file via Windows Explorer) 
 +      * $ cp ssh-pageant.exe /usr/bin/ 
 +      * $ chmod 755 /usr/bin/ssh-pageant.exe 
 +    * Run ssh-pageant: $ eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME") 
 +    * Automatically run ssh-pageant: Add the eval command to ~/.bashrc or ~/.bash_profile 
 +    * Alternatively, read the [[https://github.com/cuviper/ssh-pageant/|long description]] 
 +  * MinGW 
 +    * $ eval  $(<path-to>/ssh-pageant.exe -r -a "/tmp/.ssh-pageant-$USERNAME") 
 + 
 + 
 +===== Using a Proxy with SSH in Cygwin and MinGW ===== 
 + 
 + 
 +  * ''$ ssh -o ProxyCommand='ncat --proxy-type http --proxy proxy-server:proxy-port --proxy-auth proxy-user:proxy-password %h %p' remote-host'' 
 +  * ncat is part of [[https://nmap.org/|nmap]] 
 + 
 + 
 +===== SSH Tunneling ===== 
 + 
 + 
 +  * Create an SSH tunnel from localhost:1234 through jump-server:2233 to remote-host:22 
 +    * ''$ ssh -L 1234:remote-host:22 -p 2233 user@jump-server'' 
 +    * ''$ plink -L 1234:remote-host:22 -P 2233 user@jump-server'' 
 +  * Use a different known hosts file when creating multiple tunnels: ''$ ssh -o UserKnownHostsFile=~/.ssh/known_hosts_tunnel_remote-host -L 1234:remote-host:22 -p 2233 user@jump-server'' 
 +  * SSH into remote-user@remote-host behind jump-user@jump-server: ''$ ssh -J jump-user@jump-server remote-user@remote-host'' 
 + 
 +SSH config with jump server: 
 +<code> 
 +# SSH into remote-user@remote-host behind jump-user@jump-server 
 +Host my-remote 
 +    ForwardAgend yes 
 +    Hostname remote-host 
 +    User remote-user 
 +    ProxyJump jump-user@jump-server 
 +</code>
infrastructure/ssh.1526389038.txt.gz · Last modified: (external edit)