scp, sftp, and special characters in filenames

Demi M. Obenour demiobenour at
Mon Nov 4 03:59:58 AEDT 2019

I have not been able to get scp(1) to download a file with a newline
in its name.  I know that scp(1) requires that remote filenames be
escaped for the shell, but that leads to protocol errors.

I am also unable to get sftp(1) to handle such files.  It fails with
an “unterminated quoted argument” error, no matter how I try to
quote the newline.  Furthermore, the SFTP CLI is not well-suited to
scripted transfers, as it requires creating batch files.  If sftp(1)
could accept commands as command line arguments, or in a NUL-delimited
batch file, that would be great.

While special characters (such as newlines) in filenames are probably
bad practice, I believe that tools like scp(1) and sftp(1) should
be able to deal with them.  At least the SFTP protocol is perfectly
capable of handling newlines in filenames, as I can delete a file
with a newline in its name using Nautilus over SFTP.

In case it matters, the client is a Fedora 30 Linux system, and the
server is running the latest OpenBSD snapshot.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the openssh-unix-dev mailing list