帮我写一个ssh免密登录脚本
时间: 2023-11-23 20:07:30 浏览: 42
好的,以下是一个基本的 SSH 免密登录脚本,你可以根据自己的需求进行修改:
```
#!/bin/bash
# 将本地公钥拷贝到远程主机,实现 ssh 免密登录
# 使用方法: ./ssh-login.sh user@hostname
# 生成本地公钥,如果已经存在则直接跳过
if [ ! -f ~/.ssh/id_rsa.pub ]; then
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
fi
# 将公钥复制到远程主机的 authorized_keys 文件中
cat ~/.ssh/id_rsa.pub | ssh $1 '[ -d ~/.ssh ] || mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys'
echo "免密登录设置完成"
```
在使用该脚本时,只需运行 `./ssh-login.sh user@hostname`,其中 `user` 和 `hostname` 分别为远程主机的用户名和主机名即可。脚本会在本地生成一对密钥,并将本地公钥上传到远程主机的 `~/.ssh/authorized_keys` 文件中,从而实现 SSH 免密登录。
相关问题
写一个ssh免密登录的脚本
可以尝试使用ssh-copy-id命令,将本机的公钥添加到需要登录的远程机器上,这样就可以实现免密登录。具体的脚本可参考以下示例:
```bash
#!/bin/bash
# 先判断是否已存在本机公钥
if [ ! -f ~/.ssh/id_rsa.pub ]; then
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
fi
# 将本机公钥复制到远程服务器上
echo "请输入远程服务器IP地址:"
read server_ip
echo "请输入远程服务器登录用户名:"
read username
ssh-copy-id $username@$server_ip
```
注意,此脚本只需要执行一次即可完成免密登录的设置。每次登录时,只需输入登录用户名和IP地址即可,无需提供密码。
请写一个批量配置ssh免密的脚本
以下是一个批量配置ssh免密的脚本:
```bash
#!/bin/bash
# 定义远程服务器的IP地址和用户名
remote_user=username
remote_ips=(192.168.0.1 192.168.0.2 192.168.0.3)
# 生成ssh公钥
ssh-keygen -t rsa
# 循环遍历远程服务器IP地址,配置ssh免密登录
for remote_ip in ${remote_ips[@]}
do
ssh-copy-id -i ~/.ssh/id_rsa.pub $remote_user@$remote_ip
done
```
使用方法:
1. 将以上代码保存为 `ssh_no_password.sh` 文件;
2. 在终端中执行 `chmod +x ssh_no_password.sh` 命令,赋予脚本执行权限;
3. 执行 `./ssh_no_password.sh` 命令,开始批量配置ssh免密登录。
注意事项:
1. 远程服务器需要安装并启动ssh服务;
2. 执行脚本前需要先手动配置好本地ssh免密登录;
3. 执行脚本时需要输入远程服务器的用户名密码,以完成ssh公钥的复制。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)