Posted to tcl by rmax at Fri Dec 22 09:17:00 GMT 2017view pretty
#!/usr/bin/tclsh # -*- Tcl -*- package require Expect set prompt ":~> " set keyfile "~/.ssh/id_rsa.pub" set needcopy 0 spawn ssh $argv expect { {[Pp]ass*: } { set needcopy 1 interact "\r" { send "\r" exp_continue } } $prompt } if {$needcopy} { set fd [open $keyfile] gets $fd pubkey close $fd send " mkdir -p ~/.ssh\r" expect $prompt send " cat >> ~/.ssh/authorized_keys <<EOF\r$pubkey\rEOF\r" expect $prompt } interact