I think you need to do it like:
-o -i -o /root/.ssh/id_dsa_control

At Wed, 21 Apr 2010 13:59:20 -0500,
Virgil Gheorghiu wrote:
> 
> Package: dsh
> Version: 0.25.10-1
> Severity: important
> 
> Passing key options to ssh does not seem to work.
> It looks like dsh is first trying to login to the remote machine
> and then run the options. This approach prevents the use of
> ssh command keys, which are very useful when automating management
> and still limiting access.
> 
> # grep -v ^# /etc/dsh/dsh.conf
> verbose = 1
> remoteshell = ssh  
> showmachinenames = 0
> waitshell=1  # whether to wait for execution
> remoteshellopt=-i /root/.ssh/id_dsa_control
> 
> # dsh -m somemachine -- uptime
> Setting verbose to  [1]
>  Parameter remoteshell is ssh
> Using ssh as the remote shell
>  Parameter showmachinenames is 0
> Setting pipe option to  [0]
>  Parameter waitshell is 1
> Setting wait-shell to  [1]
>  Parameter remoteshellopt is -i /root/.ssh/id_dsa_control
> Adding [-i /root/.ssh/id_dsa_control] to shell options
> Loading config file /root/.dsh/dsh.conf
> Adding machine somemachine to list
> --- Executing on somemachine
> DUMPing parameters passed to llexec
> [-i /root/.ssh/id_dsa_control] [somemachine] [uptime]
> ... Waiting for process to end with waitpid
> Warning: Identity file  /root/.ssh/id_dsa_control not accessible: No such 
> file or directory.
> r...@somemachine's password:
> 
> # ssh -i /root/.ssh/id_dsa_control somemachine
> OpenSSH_4.7p1 Debian-12, OpenSSL 0.9.8k 25 Mar 2009
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug1: Applying options for *
> debug1: Connecting to somemachine [192.168.0.73] port 22.
> debug1: Connection established.
> ...
> debug1: Offering public key: /root/.ssh/id_dsa_control
> debug1: Server accepts key: pkalg ssh-dss blen 433
> debug1: read PEM private key done: type DSA
> debug1: Authentication succeeded (publickey).
> debug1: channel 0: new [client-session]
> debug1: Entering interactive session.
> debug1: Sending environment.
> debug1: Sending env LC_MESSAGES = en_US
> debug1: Sending env LANG = en_US
> Last login: Wed Apr 21 13:12:47 2010 from mymachine.cs.uchicago.edu
> r...@somemachine:~#
> 
> 
> Workaround:
> Create ~/.ssh/config:
> Host *
>       IdentityFile ~/.ssh/id_dsa_control
> This doesn't scale properly, because it's an all (*) or
> per-host option, and has no information on the groups dsh provides.
> Moreover, per the same problem as above, one cannot specify an
> alternative ssh config file with the '-f' option.
> Properly, the file should contain:
> for machine in $dsh_group; do
>       # write ssh config file parameters for each machine:
>       Host $machine
>               IdentityFile ~/.ssh/id_dsa_control
> done
> 
> -- System Information:
> Debian Release: lenny/sid
>   APT prefers unstable
>   APT policy: (500, 'unstable')
> Architecture: amd64 (x86_64)
> 
> Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores)
> Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
> Shell: /bin/sh linked to /bin/bash
> 
> Versions of packages dsh depends on:
> ii  libc6                         2.7-12     GNU C Library: Shared libraries
> ii  libdshconfig1                 0.20.13-1  configuration file parser 
> library 
> 
> dsh recommends no packages.
> 
> -- no debconf information
> 
> 



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to