首页 > 自动化运维 > DevOps > expect远程执行ssh-keygen
远程执行ssh-keygen命令的脚本如下:
#!/usr/bin/expect -f
set hname [lindex $argv 0]
set timeout 1
spawn ssh -p 22000 username@$hname -o StrictHostKeyChecking=no
expect {
"yes/no" {send "yes\r"; exp_continue}
"password" {send "password\r"; }
}
expect "~]$"
send "ssh-keygen -t rsa -f ~/.ssh/id_rsa -N '' -q \r"
send "exit\r"
expect eof
-----------------------------------------------------
ssh-keygen参数:
-N '' 无密码方式
-q 快速创建,少提示
-f ~/.ssh/id_rsa 直接指定秘钥文件,无需提示输入参数
-y 可选参数 。如果已经创建ssh秘钥,带上该参数,会覆盖掉原来的密钥
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9606353/viewspace-3009486/ ,如需转载,请注明出处,否则将追究法律责任。