Use smbclient , um programa que acompanha o Samba :
$ smbclient //server/share -c 'cd c:/remote/path ; put local-file'
Existem muitos sinalizadores, como -U , para permitir que o nome do usuário remoto seja diferente do nome local.
Em sistemas que dividem o Samba em múltiplos pacotes binários, você pode ter os servidores Samba instalados e ainda assim estar faltando smbclient . Nesse caso, verifique seu repositório de pacotes para um pacote chamado smbclient , samba-client ou similar.