Duo and 3rd Party Clients

From FarmShare

(Difference between revisions)
Jump to: navigation, search
(How to get Emacs TRAMP to recognize and respond to the DUO authentication request.)
 
(2 intermediate revisions not shown)
Line 17: Line 17:
Once running, on the left panel click SSH to enter the SHH configuration menu. Check the box for 'Share SSH connection when possible' and when opening a new session to that same node, Putty will re-use your established connection for the new session, and not require you to enter authentication information again.
Once running, on the left panel click SSH to enter the SHH configuration menu. Check the box for 'Share SSH connection when possible' and when opening a new session to that same node, Putty will re-use your established connection for the new session, and not require you to enter authentication information again.
-
[[File:Putty-dev.jpg|280x280px]]
+
[[File:Putty-dev.jpg|480x780px]]
 +
 
[[File:Putty-share-ssh.jpg|480x480px]]
[[File:Putty-share-ssh.jpg|480x480px]]
 +
 +
== XLauncher ==
 +
 +
Does not support 2 Factor Authentication very well, and should be avoided if possible for connecting to Farmshare.
 +
 +
== Emacs / TRAMP ==
 +
 +
Adding this code to my emacs startup file (~/.emacs) was able to get things working for me.
 +
I don't know all the variations on the prompt that Duo sends, so you may need to slightly modify this if you get a message other than "Passcode or option (1-1):" or if you want to use an authentication other than option number 1.
 +
 +
 +
  (defconst my-tramp-prompt-regexp
 +
    (concat (regexp-opt '("Passcode or option (1-1):") t)
 +
            "\\s-*")
 +
    "Regular expression matching my login prompt question.")
 +
 
 +
  (defun my-tramp-action (proc vec)
 +
    "Enter 1 to get duo authentication."
 +
    (save-window-excursion
 +
      (with-current-buffer (tramp-get-connection-buffer vec)
 +
        (tramp-message vec 6 "\n%s" (buffer-string))
 +
        (tramp-send-string vec "1"))))
 +
 
 +
  (add-to-list 'tramp-actions-before-shell
 +
              '(my-tramp-prompt-regexp my-tramp-action))

Latest revision as of 12:35, 13 September 2015

Contents

Cyberduck SFTP

CyberDuck is the recommended SFTP transfer program due to the way it can handle session sharing, and ease of use. Download CyberDuck from https://cyberduck.io/?l=en and install. Once installed be sure to set File Transfer settings to "Use browser connection" to avoid having to authenticate each time you want to transfer a file.

CyberDuck.png

SecureCRT

To open new sessions in SecureCRT, after logging and establishing a connection to Farmshare, right-click on the session name, and click 'Clone Session'. This will open a second terminal connection to that node, and will not require you to enter authentication information again if you are using Kerberos to authenticate.

SecureCRT-clone-session.jpg

Putty

The latest 'Development Snapshot' of putty allows you to 'Share connection when possible' and will allow users to open multiple sessions to Farmshare without having to authenticate each time. Download the latest 'development snapshot' from here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Once running, on the left panel click SSH to enter the SHH configuration menu. Check the box for 'Share SSH connection when possible' and when opening a new session to that same node, Putty will re-use your established connection for the new session, and not require you to enter authentication information again.

Putty-dev.jpg

Putty-share-ssh.jpg

XLauncher

Does not support 2 Factor Authentication very well, and should be avoided if possible for connecting to Farmshare.

Emacs / TRAMP

Adding this code to my emacs startup file (~/.emacs) was able to get things working for me. I don't know all the variations on the prompt that Duo sends, so you may need to slightly modify this if you get a message other than "Passcode or option (1-1):" or if you want to use an authentication other than option number 1.


 (defconst my-tramp-prompt-regexp
   (concat (regexp-opt '("Passcode or option (1-1):") t)
           "\\s-*")
   "Regular expression matching my login prompt question.")
 
 (defun my-tramp-action (proc vec)
   "Enter 1 to get duo authentication."
   (save-window-excursion
     (with-current-buffer (tramp-get-connection-buffer vec)
       (tramp-message vec 6 "\n%s" (buffer-string))
       (tramp-send-string vec "1"))))
 
 (add-to-list 'tramp-actions-before-shell
              '(my-tramp-prompt-regexp my-tramp-action))
Personal tools
Toolbox
LANGUAGES