4

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\#

2 Answers 2

6

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 ...
7
  • Would it also somehow be possible to use a bash/shell $variable instead of the secretfile?
    – mit
    Nov 2, 2010 at 18:41
  • @mit: See my edit. Nov 2, 2010 at 21:06
  • How about something like var='#secret$123#'; echo $var > /tmp/secretfile; cat /tmp/secretfile | /usr/bin/rdesktop ... ; rm /tmp/secretfile ; ?
    – mit
    Nov 3, 2010 at 17:01
  • @mit: Why use the temporary file? You could pipe the echo into the rdesktop command without the file. Nov 3, 2010 at 18:41
  • I was looking for a solution that does not make visible the password in the output of ps
    – mit
    Nov 4, 2010 at 0:59
4

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .