How to encode the rdesktop password parameter in a shell script?
Solution 1
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 running ps
or similar.
cat secretfile | /usr/bin/rdesktop -N -x m -u Administrator -p - -d ...
To answer your question, however, simply quoting the argument may be enough to make it work:
/usr/bin/rdesktop -N -x m -u Administrator -p '#secret$123#' -d ...
Edit:
To use a variable (the value will be visible in output from ps
):
var='#secret$123#'
/usr/bin/rdesktop -N -x m -u Administrator -p "$var" -d ...
or
var=$(<secretfile) # read from a file (doesn't work in sh)
/usr/bin/rdesktop -N -x m -u Administrator -p "$var" -d ...
Solution 2
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.
Related videos on Youtube
mit
Updated on September 17, 2022Comments
-
mit almost 2 years
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\#
-
mit over 13 yearsWould it also somehow be possible to use a bash/shell $variable instead of the secretfile?
-
Dennis Williamson over 13 years@mit: See my edit.
-
Dennis Williamson over 13 years@mit: Why use the temporary file? You could pipe the echo into the
rdesktop
command without the file. -
mit over 13 yearsI was looking for a solution that does not make visible the password in the output of ps
-
Dennis Williamson over 13 years@mit: Since
echo
is a shell builtin, I don't think it will be visible. -
gregthegeek over 9 years+1 to Dennis Williamson! I like the echo $var idea, no secret file, no ps output!