首页 > 系统相关 >Linux免密登录脚本

Linux免密登录脚本

时间:2023-10-26 23:23:24浏览次数:29  
标签:免密 登录 IP 192.168 HOST ssh sshpass Linux SSH

首先安装sshpass

yum install -y sshpass

Linux免密登录脚本:

#!/bin/bash
export IP="192.168.100.140 192.168.100.141 192.168.100.142"
export SSHPASS=086530
for HOST in $IP;do
    sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST
	scp /etc/hosts root@$HOST:/etc 
done

# 具体解释如下:
# 
# 1. `apt install -y sshpass` 或 `yum install -y sshpass`:通过包管理器(apt或yum)安装sshpass工具,使得后续可以使用sshpass命令。
# 
# 2. `ssh-keygen -f /root/.ssh/id_rsa -P ''`:生成SSH密钥对。该命令会在/root/.ssh目录下生成私钥文件id_rsa和公钥文件id_rsa.pub,同时不设置密码(即-P参数后面为空),方便后续通过ssh-copy-id命令自动复制公钥。
# 
# 3. `export IP="192.168.100.140 192.168.100.141 192.168.100.142"`:设置一个包含多个远程主机IP地址的环境变量IP,用空格分隔开,表示要将SSH公钥复制到这些远程主机上。
# 
# 4. `export SSHPASS=123123`:设置环境变量SSHPASS,将sshpass所需的SSH密码(在这里是"086530")赋值给它,这样sshpass命令可以自动使用这个密码进行登录。
# 
# 5. `for HOST in $IP;do`:遍历环境变量IP中的每个IP地址,并将当前IP地址赋值给变量HOST。
# 
# 6. `sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST`:使用sshpass工具复制本机的SSH公钥到远程主机。其中,-e选项表示使用环境变量中的密码(即SSHPASS)进行登录,-o StrictHostKeyChecking=no选项表示连接时不检查远程主机的公钥,以避免交互式确认。
# 
#7. `scp /etc/hosts root@$HOST:/etc `:使用scp拷贝hosts文件到远程主机
#
# 通过这段脚本,可以方便地将本机的SSH公钥复制到多个远程主机上,实现无需手动输入密码的SSH登录。

 

标签:免密,登录,IP,192.168,HOST,ssh,sshpass,Linux,SSH
From: https://www.cnblogs.com/Mr-Ding/p/17790750.html

相关文章

  • Linux中的调度策略及其原理
    对于操作系统来讲,它面对的CPU的数量是有限的,干活儿都是它们,但是进程数目远远超过CPU的数目,因而就需要进行进程的调度,有效地分配CPU的时间,既要保证进程的最快响应,也要保证进程之间的公平。这也是一个非常复杂的、需要平衡的事情。在Linux里面,进程大概可以分成两种。一种称为......
  • linux用docker
    1.查看docker运行状态systemctlstatusdocker2.查看docker服务是否自启动systemctlis-enabled docker 3.查看docker下运行的所有容器4.启动docker systemctlstart docker5.启动docker下的容器docker-compose-fdocker-compose.yml up-d或启动指定的容器......
  • python进阶知识体系md笔记14大体系200页,第2章:linux基础命令学习
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。完整版笔记直接地址:请移步这里共14......
  • Linux ls命令:查看目录下文件
    ls命令,list的缩写,是最常见的目录操作命令,其主要功能是显示当前目录下的内容。此命令的基本格式为:[root@localhost~]#ls[选项]目录名称ls命令常用的选项以及各自的功能。注意,当ls命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体......
  • 使用Kali Linux进行主机发现实验
    主机发现【实训目的】掌握主机扫描的工作原理,学会使用ping等扫描工具,发现网络当中活跃的主机。【场景描述】在虚拟机环境下配置4个虚拟系统“WinXP1”“WinXP2”“KaliLinux”和“Metasploitable2”,使得4个系统之间能够相互通信。实训均在如图1所示场景中实现。 图1......
  • Linux p10 文件目录指令
    【学习课程】:【【小白入门通俗易懂】2021韩顺平一周学会Linux】https://www.bilibili.com/video/BV1Sv411r7vd/?p=14&share_source=copy_web&vd_source=2c07d62293f5003c919b2df9b2e0549e文件目录指令文件路径指令pwd指令基本语法:pwd功能描述:显示当前工作目录的绝对路......
  • 《Unix/Linux系统编程》教材学习笔记第四章
    chapter4并行计算早期计算机大多数受到硬件限制,计算机程序通常为串行计算编写的。但是基于分治原则的算法经常表现出高度的并行性,可通过并行或并发执行来提高计算速度。顺序算法与并行算法在描述顺序算法时,常用的方法是用一个begin-end代码块列出算法,如下图左侧所示。begin-en......
  • Linux基础知识与命令 三
    目录和文件管理cat 查看文件格式:cat [选项] [文件]cat可以支持标准输入命令-A 显示隐藏字符 -n显示行号 -b跳过空行 -s压缩 (相当于把连空行压缩到一个空行)重定向:> >>>> 表示追加   tac 反方向查看 rev 同一行内容逆向显示 h......
  • node+mysql+express实现登录/注册/修改密码/删除用户 接口
    实现用户的注册、登录、修改密码、删除用户操作用到的数据库:nodecms;表:user目录结构:db目录下存放数据库操作语句:userSQL.js用户有关的操作语句router目录接口路由文件user.js用户接口路由connect.js数据库连接index.html前端测试页面index.js入口文件package.js......
  • Linux学习总结
    1Linux简介在Linux出现之前,市场上已经存在稳定且成熟的操作系统UNIX。Linux由UNIX演变而来,在UNIX的技术和用户界面基础上进行了独创的技术改进。Linux在服务器市场拥有强劲的竞争力,对安全漏洞有极快的解决速度。Linux也是一种操作系统,要想知道Linux是什么,首先得说一说什......