免密登录远程服务器shell脚本

一、脚本代码

#!/bin/bash

#提示用户输入用户i名和ip地址
read -p "请输入远程服务器的用户名: " hname
read -p "请输入远程服务器的IP地址: " fip
read -p "请输入远程服务器的远程端口:" sdk

#检查是否配置了免密登录
function sfmm(){
        #-o PasswordAuthentication=no表示禁用密码认证;-o BatchMode=yes用于启用批处理模式
        ssh -o PasswordAuthentication=no -o BatchMode=yes -p $sdk $hname@$fip echo "SSH免密登录已配置"
        return $?
}

#配置免密登录
function mmdl(){
        echo "正在配置免密登录......"
        #用if检查本机服务器是否有SSH密钥对,如果没有则生成密钥对
        #这条命令用于检查文件是否存在;-f用于检查文件是否为普通文件;~表示当前用户的主目录;~/.ssh/id_rsa.pub是SSH公钥文件的默认路径,用于检查文件路径
        if [ ! -f ~/.ssh/id_rsa.pub ]
        then
                echo "未找到SSH密钥对,正则生成中......"
        #这条命令用于生成密钥对,ssh-keygen:这是用于生成、管理和转换SSH密钥的工具;-t rsa:指定生成的密钥类型为RSA;-b 4096:指定密钥的位数为4096,默认密钥位数为2048位,位数越高越安全
                ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
        fi

        echo "将公钥复制到远程服务器....."
        ssh-copy-id -p $sdk $hname@$fip

        #通过检验sfmm函数的输出值验证免密登录是否成功
        if sfmm
        then
                echo "SSH免密登录配置成功"
        else
                echo "SSH免密登录配置失败"
                exit 1
        fi
}
#检查是否需要配置免密登录
if ! sfmm
then
        mmdl
fi

#登录远程服务器
echo "正在登录到远程服务器....."
sleep 3s
ssh -p $sdk $hname@$fip

#登出远程服务器
sleep 2s
echo "已从远程服务器登出"
echo "正在清理临时文件...."
rm -rf /tmp/temp_file
sleep 2s
echo "清理完成"


二、执行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WiFi 定位技术:守护宠物安全的隐形卫士

一、实时追踪,防患未然 想象一下,活泼好动的猫咪趁你开门瞬间溜出家门,穿梭在楼道杂物间;或是狗狗在户外玩耍时,被突发声响惊吓狂奔,瞬间没了踪影。在这些令人揪心的时刻,WiFi 定位技术就像给宠…

《C#上位机开发从门外到门内》3-2::Modbus数据采集系统

文章目录 **1. 项目概述****1.1 项目背景****1.2 项目目标****1.3 技术栈** **2. 系统架构设计****2.1 系统架构图****2.2 模块功能** **3. 数据采集模块实现****3.1 Modbus协议简介****3.2 数据采集流程****3.3 代码实现** **4. 数据存储模块实现****4.1 数据库设计****4.2 数…

Carto 无尽旅图 for Mac v1.0.7.6 (51528)冒险解谜游戏 支持M、Intel芯片

游戏介绍 《Carto》源于英文"Cartographer"(制图师),卡朵不慎坠入未知世界。这里蜿蜒曲折,地形丰富。作为制图师卡朵,你将用你自己的神秘力量,操纵地图颠覆世界,将其翻转、拼合。当世…

点击劫持详细透析

点击劫持(Clickjacking)是一种前端安全攻击手段,攻击者通过视觉欺骗诱导用户在不知情的情况下点击隐藏的页面元素,从而执行非预期的操作。以下是攻击过程的详细说明: 攻击过程步骤 攻击者构造恶意页面 创建一个恶意网页…

OpenAI--Agent SDK简介

项目概述 OpenAI Agents SDK 是一个轻量级但功能强大的框架,用于构建多智能体工作流。它主要利用大语言模型(LLM),通过配置智能体、交接、护栏和跟踪等功能,实现复杂的工作流管理。以下是对其各个部分运行过程和代码流…

【】序列操作

A. Tower 彭教授建造了 n n n 个不同高度的积木塔。其中 i i i 个塔的高度为 a i a_i ai​ 。 寿教授不喜欢这些塔,因为它们的高度太随意了。他决定先移除其中的 m m m 个,然后执行下面的一些操作(或不执行): 选…

QwQ-32B 模型结构

QwQ-32B 是一种基于 Transformer 架构 的大型语言模型(LLM),由阿里巴巴的 Qwen 团队开发,专注于推理任务。以下是其核心结构和技术特点: 1. 基础架构 Transformer 结构:QwQ-32B 采用多层 Transformer 架构…

【Linux】:自定义协议(应用层)

朋友们、伙计们,我们又见面了,本期来给大家带来应用层自定义协议相关的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通…

【C++】二叉树和堆的链式结构

本篇博客给大家带来的是用C语言来实现堆链式结构和二叉树的实现! 🐟🐟文章专栏:数据结构 🚀🚀若有问题评论区下讨论,我会及时回答 ❤❤欢迎大家点赞、收藏、分享! 今日思想&#xff…

鸿蒙保姆级教学

鸿蒙(HarmonyOS)是华为推出的一款面向全场景的分布式操作系统,支持手机、平板、智能穿戴、智能家居、车载设备等多种设备。鸿蒙系统的核心特点是分布式架构、一次开发多端部署和高性能。以下是从入门到大神级别的鸿蒙开发深度分析&#xff0c…

关于Docker是否被淘汰虚拟机实现连接虚拟专用网络Ubuntu 22.04 LTS部署Harbor仓库全流程

1.今天的第一个主题: 第一个主题是关于Docker是否真的被K8S弃用,还是可以继续兼容,因为我们知道在去年的时候,由于不可控的原因,docker的所有国内镜像源都被Ban了,再加上K8S自从V1.20之后,宣布…

八股学习-JUC java并发编程

本文仅供个人学习使用,参考资料:JMM(Java 内存模型)详解 | JavaGuide 线程基础概念 用户线程:由用户空间程序管理和调度的线程,运行在用户空间。 内核线程:由操作系统内核管理和调度的线程&…

遗传算法+四模型+双向网络!GA-CNN-BiLSTM-Attention系列四模型多变量时序预测

遗传算法四模型双向网络!GA-CNN-BiLSTM-Attention系列四模型多变量时序预测 目录 遗传算法四模型双向网络!GA-CNN-BiLSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于GA-CNN-BiLSTM-Attention、CNN-BiL…

Linux怎样源码安装Nginx

1. 安装必要的依赖 在编译 Nginx 之前,你需要安装一些必要的依赖包,像编译工具和库文件等。以 CentOS 系统为例,可借助yum命令来安装: bash sudo yum install -y gcc pcre-devel zlib-devel openssl-devel要是使用的是 Ubuntu 系…

【入门初级篇】报表基础操作与功能介绍

【入门初级篇】报表的基本操作与功能介绍 视频要点 (1)报表组件的创建 (2)指标组件的使用:一级、二级指标操作演示 (3)表格属性设置介绍 (4)图表属性设置介绍 &#xff0…

【新能源汽车“心脏”赋能:三电系统研发、测试与应用匹配的恒压恒流源技术秘籍】

新能源汽车“心脏”赋能:三电系统研发、测试与应用匹配的恒压恒流源技术秘籍 在新能源汽车蓬勃发展的浪潮中,三电系统(电池、电机、电控)无疑是其核心驱动力。而恒压源与恒流源,作为电源管理的关键要素,在…

在线JSON格式校验工具站

在线JSON校验格式化工具(Be JSON)在线,JSON,JSON 校验,格式化,xml转json 工具,在线工具,json视图,可视化,程序,服务器,域名注册,正则表达式,测试,在线json格式化工具,json 格式化,json格式化工具,json字符串格式化,json 在线查看器,json在线,json 在线验…

图片黑白处理软件推荐

图片黑白二值化是一款小巧实用的图片处理软件,软件大小仅268K。 它的操作极其简单,用户只需将需要处理的图片直接拖入软件,就能实现图片漂白效果。 从原图和处理后的图片对比来看,效果显著。这种图片漂白处理在打印时能节省墨水&a…

【AI知识】常见的优化器及其原理:梯度下降、动量梯度下降、AdaGrad、RMSProp、Adam、AdamW

常见的优化器 梯度下降(Gradient Descent, GD)局部最小值、全局最小值和鞍点凸函数和非凸函数动量梯度下降(Momentum)自适应学习率优化器AdaGrad(Adaptive Gradient Algorithm)​RMSProp(Root M…

1.5.5 掌握Scala内建控制结构 - 异常处理

本次实战聚焦于Scala内建控制结构中的异常处理机制。通过具体案例演示了如何使用try-catch-finally结构来处理程序运行中可能出现的异常情况。在try块中调用可能抛出异常的方法,catch块则根据不同异常类型进行捕获并处理,finally块则无论是否发生异常都会…