Summary: | cannot connect when ssh ControlMaster is used | ||
---|---|---|---|
Product: | [Unmaintained] kio | Reporter: | Gokdeniz Karadag <gokdenizk> |
Component: | sftp | Assignee: | Dawit Alemayehu <adawit> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | aacid, amg1127, jcorbin |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Gokdeniz Karadag
2007-11-25 13:08:21 UTC
How does one enable ControlMaster? A basic ~/.ssh/config that will use ControlMaster: Host * ControlPath ~/.ssh/master_%r@%h:%p ControlMaster auto After enabling ControlMaster, run from a shell: ssh -MNf host This will start the master process, verify that the socket exists in ~/.ssh . Now trying to open sftp://host in kio will fail, for me it usually hangs and I end up killing the kio process, but there is some sort of a timeout if you're patient enough. Forgot to mention, this impacts latest KDE 4.2 beta (latest as kdebase=4:4.1.85-0ubuntu1~intrepid1~ppa1). The problem is that when doing ssh -p 22 -o ForwardX11=no -o ForwardAgent=no -o Protocol=2 -e none -l username -v host -s sftp there is no debug line you can use to detect you've been successfully connected if you are using a master process. When not using a master process we use the "Authentication succeeded" token to know we are inside the machine. If you have any idea on how to detect it it's welcome. Also someone really interested in making this work (that is, not me) could contact the openssh guys and ask them for input on the issue or ask them to add a debug message saying we got logged in. I don't care if fish:// explicitly disables connection multiplexing by issuing "ssh -o ControlPath=none -o ControlMaster=no <...>". This is a better behavior than the inability to establish connections... In order to do it, fish:// also needs to ensure SSH supports "ControlPath" option in command line. Connection multiplexing was implemented in SSH 3.9 (http://www.openssh.com/txt/release-3.9), so a simple version check is enough: "ssh -V". --------------------------- If KDE developers wants to use connection multiplexing in fish://, SSH 5.1 has the "-O check" option (unfortunately, I couldn't see which version implemented this feature first). It can check if there is a master process running and report the result in its exit code: $ ssh -O check 10.100.0.1 ; echo $? Control socket connect(/home/amg1127/.ssh/amg1127@10.100.0.1:22): Connection refused 255 $ ssh -O check 10.100.0.2 ; echo $? Master running (pid=22271) 0 $ ssh -O check 10.100.0.3 ; echo $? Control socket connect(/home/amg1127/.ssh/amg1127@10.100.0.3:22): No such file or directory 255 *** This bug has been marked as a duplicate of bug 100815 *** |