Copying Files with SCP
When you are working within a network there is always a need to copy files. This includes patches, upgrades, scripts and logs which always have a need to be transfered. For *nix platforms, the most common transfer protocol is SCP. SCP is short for secure copy which uses SSH as the transport mechanism to compress and encrypt data as it travels across a network.
Depending on your platform you are copying from, you can either use a CLI version of scp, or for Windows users, you can utilize WinSCP. WinSCP gives you an advanced configuration wizard to help you connect and transfer using a graphical user interface.
One of the downfalls to using WinSCP is that Juniper Networks’ JUNOS CLI is interpreted correctly. When you access a JUNOS device you have an option of two shells, one called shell and one called cli. The cli mode, accessed by typing
start cli is the JUNOS configuration and management shell. The standard csh, accessed by
start shell is the BSD backend version of a standard terminal shell where *nix commands can be executed.
If you try to access a JUNOS platform with the user
root, everything will work fine and dandy. This is because the default shell for
/bin/csh. But, if you are like every other security-driven user out there, you would have disabled the
root user as a safe-guard. This is where things get messy with WinSCP.
Note: Trying to log in using SFTP as the protocol will also work, but there are times when users need SCP by default.
Trying to log in as a non-root user via SCP will result in the following errors:
Host is not communicating for more than 15 seconds. Still waiting... Note: If the problem repeats, try turning off 'Optimize connection buffer size'.
Error skipping startup message. Your shell is probably incompatible with the application (BASH is recommended).
Fixing the Issue
The fix is fairly simple. If you are familiar with PuTTy and advanced configuration, WinSCP is very similar.
The setting we need to change is hidden beneath the Advanced Options menu:
- On the WinSCP Login Screen, check
- Under the
- Look for the option
Shell, the default option is
- Change this to
When you reconnect, WinSCP will pass
start shell to the CLI and copy the files correctly.
comments powered by Disqus