I can connect with this script from linux to a windows RDP session:
#!/bin/bash
/usr/bin/rdesktop -N -x m -u Administrator -p secret123 -d DOMAIN1 127.0.0.1:33891
(The rdp port of the remote windows server is securely tunneled to port 33891 on localhost)
But this script does not transmit the password properly:
#!/bin/bash
/usr/bin/rdesktop -N -x m -u Administrator -p #secret$123# -d DOMAIN2 127.0.0.1:33892
How do I have to encode the special chars in the password?
I am also wondering if it makes a difference if I choose /bin/sh as the shell for the script.
Edit:
I found out this works:
\#secret\$123\#
I would recommend that you store the password in a file and pass it to
rdesktop
through a pipe. That way, the password won't show up as an argument in the command line when runningps
or similar.To answer your question, however, simply quoting the argument may be enough to make it work:
Edit:
To use a variable (the value will be visible in output from
ps
):or
Special characters need to be escaped with a '\' in the Linux command line.
You can post your password and I'll show you how it should look. ;) Kidding... of course.