[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[gftp] using ssh to connect to a Sun file server

I'm having trouble using ssh in gFTP to connect to a Sun file server from my Linux machine. The ordinary ftp protocol works fine.

I've tried a couple of different ways. Here are the details:

1. In the ssh options, I select "Use SSH2 SFTP subsys" and "Use ssh-askpass utility". When I do it this way, I get

Opening SSH connection to xxx.xxx.xxx.ca
Running program ssh -e none -l xxxxxxx -p 22 xxx.xxx.xxx.ca -s sftp
3: Protocol Initialization
There was an error initializing a SSH connection with the remote server. The error message from the remote server follows:
ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory
Disconnecting from site xxx.xxx.xxx.ca

(You'll forgive me for obscuring my username and the hostname. Since the messages to this list are posted on a public website, I thought this would be prudent.)

It's pretty clear why this fails: ssh-askpass is in /usr/local/bin on our Sun server. This looks like it would work if I could get past this hurdle. How do I tell gFTP the path? Note that I have sources, and I'm willing to get my hands dirty if necessary. However, a quick grep around the sources didn't bring up anything promising.

By the way, if I run the command shown in the above transcript from the command line, it just hangs after asking for my password. On the other hand, I can just plain old sftp from the command-line just fine.

2. I went with the ssh2 subsystem because I had even less luck the other way. If I leave all the tick boxes empty, it gFTP just keeps retrying, but never connects. I can tell it that the path to sftp-server is /usr/local/bin, and the same thing happens. This one might be a shell/quoting problem. If I run the command by hand, viz.

ssh -e none -l xxxxxx -p 22 xxx.xxx.xxx.ca "echo -n xsftp ; /usr/local/bin/sftp-server"

the system asks me for my password, and then echoes

-n xsftp

to my screen. The command just hangs after that. The ksh builtin echo doesn't have a -n option, so that's probably part of the problem. If I type instead

ssh -e none -l xxxxxx -p 22 xxx.xxx.xxx.ca "/usr/ucb/echo -n xsftp ; /usr/local/bin/sftp-server"

xsftp is echoed to my screen. My shell on the Sun system is ksh. It looks as if the semi-colon is being interpreted by the shell, although I can't quite see why.

Any suggestions?

Marc R. Roussel, Associate Professor home page: www.cs.uleth.ca/~roussel
Department of Chemistry and Biochemistry email: roussel@uleth.ca
University of Lethbridge phone: +1 403 329 2326
Lethbridge, Alberta, Canada T1K 3M4 fax: +1 403 329 2057