书写自动分发密钥脚本给两台服务器分发公钥,a服务器接收公钥的用户为xiaobai,b服务器接收公钥的用户为xiaohei,a服务器xiaobai的密码为123456, b服务器xiaohei的密码为123123
时间: 2024-03-14 17:45:08 浏览: 60
好的,您需要一个自动化脚本来将公钥分发给两台服务器,其中a服务器的用户是xiaobai,密码为123456,b服务器的用户是xiaohei,密码为123123。以下是一个使用expect模块编写的Python脚本示例:
```python
#!/usr/bin/expect
# 定义服务器信息
set a_server "a.server.com"
set b_server "b.server.com"
# 定义用户信息
set a_user "xiaobai"
set a_password "123456"
set b_user "xiaohei"
set b_password "123123"
# 定义公钥文件路径
set pub_key_file "/path/to/public_key.pub"
# 分发公钥到a服务器
spawn ssh-copy-id -i $pub_key_file $a_user@$a_server
expect {
"Are you sure you want to continue connecting" {
send "yes\r"
exp_continue
}
"password:" {
send "$a_password\r"
}
}
expect eof
# 分发公钥到b服务器
spawn ssh-copy-id -i $pub_key_file $b_user@$b_server
expect {
"Are you sure you want to continue connecting" {
send "yes\r"
exp_continue
}
"password:" {
send "$b_password\r"
}
}
expect eof
```
您只需要将脚本中的服务器信息、用户信息和公钥文件路径替换成您自己的即可。请确保您已经在本地生成了公钥并拥有私钥。
阅读全文