Usage ***** ssh-deploy-key [ options ] [ remote host[s] ] Options ======= :: usage: ssh-deploy-key [-h] [-a AUTHORIZED_KEYS] [-d] [-k KEY_FILE] [-m TIMEOUT_SECONDS] [-o PORT] [-p PASSWORD] [-s SSH_DIR] [-t THREADS] [-u USERNAME] [hosts [hosts ...]] Distribute an ssh key to remote hosts. positional arguments: hosts Zero or more remote hosts to receive the ssh key. If this value is unspecified, remote hosts will be read from standard in. optional arguments: -h, --help show this help message and exit -a AUTHORIZED_KEYS, --authorized_keys AUTHORIZED_KEYS Name of the remote authorized keys file. (Changing this setting is uncommon.) -d, --append Add the ssh key to the end of the remote authorized keys file instead of overwriting it. (SMART APPEND NOT YET IMPLEMENTED). Default is false. -k KEY_FILE, --key_file KEY_FILE Path to the local public ssh key file. Default is ~/.ssh/id_rsa.pub -m TIMEOUT_SECONDS, --timeout_seconds TIMEOUT_SECONDS Timeout value (in seconds) for connecting to each host. Default is 3 -o PORT, --port PORT The ssh port to connect to the remote hosts on. Default is 22 -p PASSWORD, --password PASSWORD Password to use on remote hosts. If not specified here, you will be prompted for this interactively. -s SSH_DIR, --ssh_dir SSH_DIR Directory to copy the key into on the remote host. Default is ~/.ssh -t THREADS, --threads THREADS Number of threads to use for simultaneous key distribution. Default is 100. -u USERNAME, --username USERNAME Username to use on remote hosts. Default is Examples ======== These are some of the common ways to use ssh-deploy-id Specifying remote hosts interactively ------------------------------------- ssh-deploy-key can run interactively. The user will be prompted for additional hosts until typing 'exit' or ^D. :: [~/git/ssh-deploy-key/bin]$ ./ssh-deploy-key Enter common password for remote hosts: Distributing key '/Users/travis/.ssh/id_rsa.pub' to remote hosts in overwrite mode. Enter one hostname per line. Terminate with 'exit' or ^D. 192.168.1.112 copying key to travis@192.168.1.112:~/.ssh/authorized_keys... [SUCCESS!] 192.168.1.113 copying key to travis@192.168.1.113:~/.ssh/authorized_keys... [SUCCESS!] exit Note that if you do not specify a password for the remote host on the command line, you will prompted for it interactively. Specifying remote hosts on the command line ------------------------------------------- :: [~/git/ssh-deploy-key/bin]$ ./ssh-deploy-key 192.168.1.112 192.168.1.101 Enter common password for remote hosts: Distributing key '/Users/travis/.ssh/id_rsa.pub' to remote hosts in overwrite mode. copying key to travis@192.168.1.112:~/.ssh/authorized_keys... [SUCCESS!] copying key to travis@192.168.1.101:~/.ssh/authorized_keys... [SUCCESS!] With Shell Redirection ---------------------- ssh-deploy-key accepts piped input. For example, if you had a script to generate a list of hosts, you could run it this way :: get_host_list.sh | ssh-deploy-key From a data File ---------------- If you have a data file listing your hosts already, you can redirect standard in from the file :: ssh-deploy-key < host_list Specifying the username and password on the command line -------------------------------------------------------- :: ssh-deploy-key -u root -p p@ssw0rd host1