ssh key互信shell脚本
时间: 2024-11-21 13:29:22 浏览: 25
SSH (Secure Shell) 公钥对是一种用于远程登录的安全机制,它允许用户通过私钥验证身份,而无需输入密码。在两个系统之间建立公钥互信,可以编写shell脚本来自动化这个过程。以下是简要步骤:
1. **生成密钥对**:首先,在需要访问系统的机器上(通常是服务器),使用`ssh-keygen`命令生成一对SSH密钥。例如:
```
ssh-keygen -t rsa
```
2. **查看并备份公钥**:生成的公钥通常存储在`~/.ssh/id_rsa.pub`文件中,这是你需要共享给其他机器的。
3. **添加信任到远程主机**:将对方的公钥复制到你的`~/.ssh/authorized_keys`文件里,如果文件不存在,需要创建。例如:
```
cat remote_host_user.pub >> ~/.ssh/authorized_keys
```
或者使用`ssh-copy-id`命令,更方便快捷。
4. **编写shell脚本**:创建一个shell脚本,如`setup_ssh.sh`,内容可能包括上述步骤,并设置适当的权限(如700):
```bash
#!/bin/bash
generate_key=(ssh-keygen -t rsa)
add_key=(cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys)
[ ! -f ~/.ssh/authorized_keys ] && echo "Creating authorized_keys" && touch ~/.ssh/authorized_keys
${generate_key[@]}
${add_key[@]}
chmod 700 ~/.ssh
```
5. **运行脚本**:使用`sudo bash setup_ssh.sh`或赋予适当权限后执行。
6. **测试连接**:现在,你应该能够使用公钥无密码登录目标机器了。
阅读全文