当前位置: 首页 > news >正文

shell免登陆脚本

#!/bin/bash

## 脚本接收的参数,也就是要互相配置 SSH 免密登录的服务器列表参数
BASE_HOST_LIST=ip

## 密码,默认用户是当前运行脚本的用户,比如 root 用户
## 这里改成你的用户对应的密码
BASE_PASSWORD="password"

## shell 函数:模拟 SSH 公钥私钥文件生成的人机交互过程
sshkeygen(){
    yum install -y expect
    expect -c "
    spawn ssh-keygen
    expect {
        \"ssh/id_rsa):\" {send \"\r\";exp_continue}
        \"passphrase):\" {send \"\r\";exp_continue}
        \"again:\" {send \"\r\";exp_continue}
    }
    "
}

## shell 函数:模拟配置 SSH 免密登录过程的人机交互过程
sshcopyid(){
    expect -c "
    spawn ssh-copy-id $1
    expect {
        \"(yes/no)?\" {send \"yes\r\";exp_continue}
        \"password:\" {send \"$2\r\";exp_continue}
    }
    "
}

## 本机生成密钥对
sshkeygen

## 然后本机跟其他服务器建立 SSH 免密登录(包括自己)
for SSH_HOST in ${BASE_HOST_LIST}
do
    sshcopyid ${SSH_HOST} ${BASE_PASSWORD}
done
 

相关文章:

shell免登陆脚本

#!/bin/bash ## 脚本接收的参数,也就是要互相配置 SSH 免密登录的服务器列表参数 BASE_HOST_LISTip ## 密码,默认用户是当前运行脚本的用户,比如 root 用户 ## 这里改成你的用户对应的密码 BASE_PASSWORD"password" ## shell 函…...

基于springboot+vue+Mysql的职称评审管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

GitLab教程(一):安装Git、配置SSH公钥

文章目录 序一、Git安装与基本配置(Windows)下载卸载安装基本配置 二、SSH密钥配置 序 为什么要使用代码版本管理工具: 最近笔者确实因为未使用代码版本管理工具遇到了一些愚蠢的问题,笔者因此认为代码版本管理工具对于提高团队…...

【算法】无序数组的两数之和 - map标记

题目 在一个无序数组中找到两个数,两个数之和为给定的一个数,返回两个数在数组中的下标。 原理 遍历数组,遍历到一个数字的时候,记录下这个数及其下标,遍历时判断给定数减去这个数为key在map中是否存在,…...

Prime (2021): 2

前言 这个靶机有亿点难,收获很多。打靶的时候,前面很顺,到创建ssh公钥之后就一点不会了。 1 01 arp扫描,发现有一个130,再查看端口 有22,80,129,445,10123 dirb扫描目录 这…...

React 状态管理:安全高效地修改对象属性的 3 种方法

在 React 应用程序中,状态(state)是驱动整个应用程序的核心。当应用程序的状态发生变化时,React 会自动重新渲染相应的组件,以确保用户界面的更新。 与数组状态一样,对象状态在 React 中也需要特别处理。直接修改对象属性是不被允许的,因为 React 的不可变性原则要求我们创建一…...

python实现pdf的页面替换

利用第三方库PyPDF2,下面例子中进行的是将 origin.pdf 的第17页替换为 s17.pdf 的第1页: import PyPDF2def replace_pages(original_pdf_path, replacement_pages):with open(original_pdf_path, rb) as original_file:original_pdf PyPDF2.PdfReader(…...

[AIGC] Java List和Map常用API以及其Python实现方式对照介绍

Java和Python作为当今非常浅显易懂的编程语言,其数据结构中对于List和Map(Java)或List和Dict(Python)的操作无疑是每个程序员都非常必需的知识。本文将介绍在Java中对List和Map常用的一些操作,并给出在Pyth…...

零基础如何闯入IT的神秘大门?

前言 随着信息技术的飞速发展,IT行业成为了许多有志之士梦寐以求的职业领域。但对于零基础的人来说,如何成功进入这个行业却是一个不小的挑战。下面,我将结合自身的C语言专业知识,为大家详细阐述一条可行的学习路径,并…...

java程序 .exe启动nginx防止重复启动,已解决

java代码生成好的.exe启动nginx服务程序 根据nginx占用端口来解决nginx服务重复启动问题(下面代码了解代码逻辑后根据自己的业务需求修改即可) 代码: package org.example;import javax.swing.*; import java.awt.*; import java.io.*; …...

二十一、Rust 反射 获取类型

不同于 java 中的反射,Rust 没有提供以往意义上的运行时反射,取而代之的是 “编译期反射”,如 类型分析、类型转换、类型签名。但即便如此,也已经能对 Rust元编程 提供很多助力了。 这种操作,主要通过 Any 来实现&…...

Flutter Engine引擎概念

1.Flutter是Google提供的开源框架。 2.本身由C编写并兼容iOS(底层C)/Android(底层C)平台的FlutterEngine框架负责UI渲染、数据转移、调用DartVM虚拟机。 3.FlutterEngine框架由Skia图形库、Dart运行时、Flutter框架代码组成。Skia是用于图形绘制和文本显示的2D图形引擎库&#…...

【运行环境】加载资源的形式

相关资源:性能优化原则 1 加载资源的形式 html代码 媒体文件,如图片,视频等 javasccript css 2 加载资源的过程 DNS解析:域名-> ip地址 浏览器根据IP地址向服务器发送http 请求 服务器处理http 请求,并返回给浏览器…...

备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼

一、题目描述 二、思路 1、使用datetime库中的方法可以很好的解决这个问题。 2、定义起始时间和结束时间,判断是否是周一或者是1号,结果res加上相应的里程数。 3、最后输出 res 即为本题答案。 三、代码实现 import datetimestart datetime.date(2…...

书生·浦语大模型第二期实战营第二课笔记和基础作业

来源: 作业要求:Homework - Demo 文档教程:轻松玩转书生浦语大模型趣味 Demo B站教程:轻松玩转书生浦语大模型趣味 Demo 1. 笔记 2.基础作业 2.1 作业要求 2.2 算力平台 2.3 新建demo目录,以及新建目录下的文件,下载模型参数 2.4 Intern…...

成功解决> 错误: 无效的源发行版:17

运行项目的时候出现下面的报错: Execution failed for task ‘:device_info_plus:compileDebugJavaWithJavac’. 错误: 无效的源发行版:17 原因:没有设置好自己项目的JDK版本 解决:1.检查自己项目的JDK版本 将自己的项目改为JDK 1…...

深度剖析:网络安全中的红蓝对抗策略

红蓝对抗 红蓝对抗服务方案 在蓝队服务中,作为攻击方将开展对目标资产的模拟入侵,寻找攻击路径,发现安全漏洞和隐患。除获取目标系统的关键信息(包括但不限于资产信息、重要业务数据、代码或管理员账号等)外&#x…...

Java异常处理之旅:解救迷失的程序员(二)

本系列文章简介: 在编程世界中,程序员们常常会遇到各种各样的问题和挑战。有时候,这些问题很容易解决,而有时候,它们却会让我们感到迷失和无助。 在这个旅程中,我们将探索Java异常处理的世界,解…...

网络安全介绍

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统能够连续可靠正常地运行,网络服务不中断。以下是一些网络安全相关的方面: 首先,随着科学技术的进…...

分享一个好看的APP下载分发页,App Store风格

分享一个好看的APP下载分发页,App Store风格 可以自动识别安卓和苹果哦! 内容直接可以页面上修改,所见即所得 下图是一个真实截图,想要的留下评论哦!...

不止于搭建:用DVWA靶场在Kali上复现SQL注入与文件上传漏洞实战

不止于搭建:用DVWA靶场在Kali上复现SQL注入与文件上传漏洞实战 当你第一次在Kali Linux上成功运行DVWA靶场时,那种成就感就像解锁了新世界的大门。但真正的乐趣才刚刚开始——这个看似简单的靶场,其实是网络安全爱好者最好的实战训练场。本文…...

编译原理避坑指南:自顶向下语法分析的5个常见错误及解决方法

编译原理避坑指南:自顶向下语法分析的5个常见错误及解决方法 第一次接触自顶向下语法分析时,我盯着那个无限循环的递归文法整整三天没想明白——为什么明明按照教材步骤操作,程序却始终报错?直到助教指出我忽略了间接左递归的隐蔽…...

斯坦福邱肖杰:自动化组学发现的可进化多智能体框架

摘要 大型语言模型驱动的自主智能体系统与单细胞生物学的融合,有望推动生物医学发现领域的范式转变。然而,现有生物智能体系统基于单智能体架构构建,要么功能单一、要么过于泛化,仅适用于常规分析。本文介绍1种可进化…...

像素时装锻造坊入门必看:预设咒语+Forge Scale滑块参数详解

像素时装锻造坊入门必看:预设咒语Forge Scale滑块参数详解 1. 工具介绍:像素时装锻造坊 像素时装锻造坊(Pixel Fashion Atelier)是一款基于Stable Diffusion与Anything-v5模型的图像生成工具。它采用独特的复古日系RPG界面设计&…...

Qwen2.5-VL-7B-Instruct实操手册:对话历史自动保存+一键清空功能详解

Qwen2.5-VL-7B-Instruct实操手册:对话历史自动保存一键清空功能详解 1. 开篇:你的全能视觉助手来了 今天给大家介绍一个特别实用的工具——基于Qwen2.5-VL-7B-Instruct多模态大模型的视觉交互工具。这个工具专门为RTX 4090显卡优化过,用上了…...

VSCode配置STM32标准库开发环境:手把手解决core_cm3.c编译报错与头文件路径问题

VSCode搭建STM32开发环境:解决标准库兼容性与智能感知难题 当开发者从Keil或IAR转向VSCode时,往往会遇到两个棘手的拦路虎:标准库与GCC的兼容性问题,以及代码智能感知的缺失。本文将深入解决这两个核心痛点,带你构建一…...

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(conda+Pycharm版)

Python环境变量冲突避坑指南:解决Fatal Python error: init_sys_streams错误(condaPycharm版) 当你在PyCharm中运行一个conda虚拟环境下的Python项目时,突然弹出一条令人窒息的错误信息:Fatal Python error: init_sys_…...

OpenRocket:开源火箭仿真平台的技术架构与实践指南

OpenRocket:开源火箭仿真平台的技术架构与实践指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 价值定位:如何突破传统火箭设计…...

GitHub Desktop中文汉化工具:让Git操作变得像聊天一样简单

GitHub Desktop中文汉化工具:让Git操作变得像聊天一样简单 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop满屏的英文而头疼吗&#x…...

告别手动更新!GAMIT/GLOBK数据处理中tables表文件的自动化管理与避坑指南

告别手动更新!GAMIT/GLOBK数据处理中tables表文件的自动化管理与避坑指南 在GNSS数据处理领域,GAMIT/GLOBK作为科研和工程项目的核心工具链,其精度和可靠性高度依赖于各类表文件的及时更新。然而,许多中高级用户在实际操作中常陷…...