From Bugzilla Helper: User-Agent: Mozilla/4.77 [en] (Windows NT 5.0; U) Description of problem: When I scp from an openssh client to the SSH(R) Secure Shell(TM) 2.4.0 server, I get the message scp: warning: Executing scp1 compatibility. scp: FATAL: Executing ssh1 in compatibility mode failed (Check that scp1 is in your PATH). This is bogus since SSH(R) Secure Shell(TM) 2.4.0 does not support the SSH 1 protocol. The SSH(R) Secure Shell(TM) 2.4.0 scp client interoperates with the openssh server, so I can work around this. How reproducible: Always Steps to Reproduce: 1. Install SSH(R) Secure Shell(TM) on the server. 2. Try to scp a file to/from the server. 3. The above messages appear. Actual Results: scp dies and the file is not copied. Expected Results: the file should be copied. Additional info:
Can you post your configuration files $HOME/.ssh/config and /etc/ssh/ssh_config? Also, what messages do you see with the -v option on the client side?
No ~/.ssh/config file. After stripping blank lines and comments, /etc/ssh/ssh_config is: ---cut here--- Host * ForwardX11 yes Protocol 2,1 ---cut here--- $ scp -v ysul.ysu.edu:perl.tar.gz . # Linux on S/390 host Executing: program /usr/bin/ssh host ysul.ysu.edu, user (unspecified), command scp -v -f perl.tar.gz jpdalbec.edu's password: scp: warning: Development-time debugging not compiled in. scp: warning: To enable, configure with --enable-debug and recompile. scp: warning: Executing scp1 compatibility. scp: FATAL: Executing ssh1 in compatibility mode failed (Check that scp1 is in your PATH). $ scp -v unix1.cc.ysu.edu:test.c . # AIX host Executing: program /usr/bin/ssh host unix1.cc.ysu.edu, user (unspecified), command scp -v -f test.c jpdalbec.ysu.edu's password: scp: warning: Executing scp1 compatibility. scp: FATAL: Executing ssh1 in compatibility mode failed (Check that scp1 is in your PATH). $
Well, I'm stuck! Would you try to recompile openssh release: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-2.9p2.tar.gz ./configure --sysconfdir=/etc/ssh --with-pam --enable-debug make This gives lots of debugging messages with ./scp -v So, we can see where this incompatibility com from.
My mistake, the messages (prefixed with "scp:") are coming from the remote (SSH(R) Secure Shell(TM)) "scp" process. It doesn't like the "-f" option on the "scp" command. What is that supposed to do? It's not a documented option to openssh's "scp" command. Did you mean to pass it to the "ssh" command instead?
Indeed, on my linux box I don't have this -f options added to the scp command. But, I don't use redhat rpm, I have recompiled the openssh release. Maybe, you should try it?
Ok, a few issues that might help: 1) is scp1 in your PATH in the server your connecting to (SSH Communications daemon)? 2) if 'scp' does not exist there, but only 'scp2' and 'scp1', try creating a symlink. Also note that scp2 of SSH comm. uses sftp as its transport IIRC, and might be incompatible. Did you try: scp -o Protocol=1 .. from your openssh box?
No, I have installed only SSH(R) Secure Shell(TM) 2.4.0. I have no "1" programs anywhere on the system. Anyway, SSH 1 is insecure. I tried linking sftp to "scp1", but the options are completely different; for example, sftp takes a hostname instead of a filename. Hm, the openssh sftp client seems to work now. I was using the same client from another distro with SSH(R) Secure Shell(TM) 2.2.0 server and it didn't work then.
AFAIK, you can't make SSH.com 'scp2' and OpenSSH 'scp' interoperate. If it's possible nonetheless, a symlink should do.
This is because ssh.com's v2 "scp" program actually speaks the sftp protocol. Either use OpenSSH's sftp program, or install an "scp1" on your ssh2 host (which you'll need to get from either OpenSSH or ssh.com's v1 software). See also: http://www.snailbook.com/faq/scp-ossh-to-ssh2.auto.html