Как скачать файл с сайта командой scp и sftp?
scp для подключения по ssh
для выкачивания по ftp Логично использовать wget
wget ftp://ftp.hp.com/pub/softpaq/sp40001/sp40001.cva
curl это высокоуровневая утилита, поддерживает работу чуть ли не со всеми протоколами
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP.
поэтому твоя задача могла бы решиться только ей просто указывай путь соответствующем формате scp://user:passwd@server... sftp://... и т.п. само собой беспарольная аутентификация по ключу так же работает

сообщения об ошибках должны подробно описать причину, по которой у тебя что то не получается, а ключ -v добавит подробностей

Если что указанные ссылки на ftp hp не работают из россии, так что используй например прокси, в curl она включается ключом --proxy socks5://ip:port если используется socks5 версия (локальная socks5 прокси поднимается ssh подключением к удаленному серверу просто подключившись туда с ключом ssh user@server -D1080 где 1080 порт, а socks сервер будет на localhost).

p.s. scp это штатный механизм работы с файлами через ssh соединение, т.е. он будет работать кажется при любых экзотических условиях (бывает даже специально пользователя заводят только с доступом по scp)
sftp это подключение по ftp, предварительно подключившись по ssh к серверу

ну и на засыпку, можно копировать файлы просто утилитой ssh используя перенаправления потоков
tar -c /source/files | ssh user@server "cd /path/to/;tar -x --"
тут архиватор tar пакуте локальные файлы, и выводит полученный архив в stdout, который передается через ssh подключение удаленному tar который все распаковывает уже на удаленном сервере

данный подход простой, не требует ничего настраивать и устанавливать на серверах (будет работать наверное на 20-летних железках) но не обрабатывает как следует ошибки, т.е. если что то пойдет не так все прервется