MFA/2-factor/OpenSC Authentication Issues #18192
-
Hi - Some staff here at ORNL/OLCF are required to login to OLCF systems with a yubikey, which utilizes OpenSC to use their smartcard (yubikey) pin instead of a traditional RSA passcode. The way this is handled with SSH is by having this in a
The above works for traditional SSH logins via terminal, but VisIt hangs when connecting to the remote host (in this case, the Andes OLCF cluster) when using a username that requires this special type of login. No password/passcode prompt is ever displayed and VisIt just hangs until you have to manually kill the process. This happens on both Mac and Windows, and "passwordless SSH" does not solve the issue, as authentication is still smartcard/yubikey based rather than trusted SSH keys. This workaround is known to work for some: https://puppet.com/blog/speed-up-ssh-by-reusing-connections/ (i.e., connecting to Andes via SSH on terminal, then piggybacking off of that connection so that VisIt doesn't have to prompt for a yubikey pin) However, we are looking to find a more permanent / less-workaroundy solution, as the above didn't end up working for everybody. Any ideas? As a comparison, this type of issue doesn't happen with ParaView, but I'm guessing that has something to do with that application explicitly using something like xterm/xquartz when trying to authenticate. This is using VisIt 3.2.2, but we did not see success in the past with older version either. Michael |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 11 replies
-
@visit-dav/visit-developers anyone have any ideas for this inquiry? |
Beta Was this translation helpful? Give feedback.
-
The above article appears to have been removed or the path has changed. That said, I am thinking it is about using SSH in Control Master mode (aka Multiplexing). That allows a new ssh connection to ride-along on an existing connection. Its kinda sorta like passwordless but it isn't. You do have to authenticate the initial connection. But, its a great feature to deal with situations like this.
Hmm...not enirely sure what you are saying here regarding ParaView method of authenticating. But, I wonder if you mean that ParaView is essentially turning around and creating control-mastered connection automagically by first having the user authenticate via a basic terminal connection? The way you could tell for sure is to look in What if we gave you a check-box in our host-profiles that basically did what I describe above...It launches a local terminal window (which you would likely have to go hunt for in the window system on the client because it may not appear in front of VisIt's windows) where you enter username and password (or the yubi-key thing) and then control-mastered Visit's connection on top of that automagically? I need to do a little more research about yubi-keys and ssh authentication. @biagas and @brugger1 this may be another example of a case where instead of trying to integration the ssh connection logic into VisIt's Qt GUI, it might be better to simply delegate to whatever the local ssh tooling is. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
On Windows, you can use an environment variable to override use of VisIt's internal ssh. This will bypass use of the password window, and the ssh's terminal window will open instead. I wonder if that would help the situation. You would add VISITSSH environment variable with the path to ssh (OpenSSH in system location for newer OS versions) or plink (putty), or other form of ssh. If extra args are needed for ssh they can be specified via VISITSSHARGS environment variable. Without the password window/change username option you will have to ensure the username is correct in the host profile before attempting to connect to the remote machine. |
Beta Was this translation helpful? Give feedback.
-
For the record, this has been fixed as of VisIt 3.4.1 :) |
Beta Was this translation helpful? Give feedback.
For the record, this has been fixed as of VisIt 3.4.1 :)