shell脚本-linux如何在脚本中远程到一台linux机器并执行命令
需求:我们需要从11.0.1.17远程到11.0.1.16上执行命令
实现:
1.让11.0.1.17 可以免密登录到11.0.1.16
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bu287XmVZ6enpUciggpz71Q7e5kfKYqVMTcM5bDD8eU root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| o . . |
| . B o |
| = o E |
| + |
| S.+ + .|
| o ...o.*...o*|
| + o+ *..+o*+|
| .o.= =+oo+o|
| .o *++o++ |
+----[SHA256]-----+[root@localhost ~]# ssh-copy-id -i .ssh/id_rsa.pub root@11.0.1.16
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host '11.0.1.16 (11.0.1.16)' can't be established.
ECDSA key fingerprint is SHA256:Zedce2a7sFWF3pYJaVtedqST+SsG1zbPZ7Y4rGiEpB0.
ECDSA key fingerprint is MD5:57:75:f6:6f:68:ba:b2:b8:38:0f:55:96:c9:19:d6:29.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@11.0.1.16's password: Number of key(s) added: 1Now try logging into the machine, with: "ssh 'root@11.0.1.16'"
and check to make sure that only the key(s) you wanted were added.

2.在脚本中实现我们想要的功能
[root@localhost ~]# cat test.sh
#!/bin/bash
ssh root@11.0.1.16 <<remotessh
mkdir test
ls -la test
ifconfig
exit
remotessh[root@localhost ~]# sh test.sh
Pseudo-terminal will not be allocated because stdin is not a terminal.
总用量 4
drwxr-xr-x 2 root root 6 7月 15 09:38 .
dr-xr-x---. 8 root root 4096 7月 15 09:38 ..
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 11.0.1.16 netmask 255.255.255.0 broadcast 11.0.1.255inet6 fe80::20c:29ff:fe00:9681 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:00:96:81 txqueuelen 1000 (Ethernet)RX packets 95760 bytes 67679836 (64.5 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 45061 bytes 3990000 (3.8 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1 (Local Loopback)RX packets 24 bytes 2547 (2.4 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 24 bytes 2547 (2.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
相关文章:
shell脚本-linux如何在脚本中远程到一台linux机器并执行命令
需求:我们需要从11.0.1.17远程到11.0.1.16上执行命令 实现: 1.让11.0.1.17 可以免密登录到11.0.1.16 [rootlocalhost ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created d…...
Spring Data Redis + Redis数据缓存学习笔记
文章目录 1 Redis 入门1.1 简介1.2 Redis服务启动与停止(Windows)1.2.1 服务启动命令1.2.2 客户端连接命令1.2.3 修改Redis配置文件1.2.4 Redis客户端图形工具 2. Redis数据类型2.1 五种常用数据类型介绍 3. Redis常用命令3.1 字符串操作命令3.2 哈希操作…...
在项目中,如何使用springboot+vue+springsecurity+redis缓存+Axios+MySQL数据库+mybatis
要在项目中使用springbootvuespringsecurityredis缓存AxiosMySQL数据库mybatis,可以按照以下步骤进行操作: 创建一个Spring Boot项目,并添加所需的依赖。在pom.xml文件中添加Spring Boot、Spring Security、Redis、MySQL和MyBatis的依赖项。 …...
微调 Florence-2 - 微软的尖端视觉语言模型
Florence-2 是微软于 2024 年 6 月发布的一个基础视觉语言模型。该模型极具吸引力,因为它尺寸很小 (0.2B 及 0.7B) 且在各种计算机视觉和视觉语言任务上表现出色。 Florence 开箱即用支持多种类型的任务,包括: 看图说话、目标检测、OCR 等等。虽然覆盖面…...
【数据结构】二叉树全攻略,从实现到应用详解
💎所属专栏:数据结构与算法学习 💎 欢迎大家互三:2的n次方_ 🍁1. 树形结构的介绍 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做…...
微信小程序加载动画文件
最近在做微信小程序的动画,调研了几种方案 PAG 腾讯自家的,分为完整版和lite版,对于矢量动画挺好的,但是位图会有问题 完整版会逐渐卡死,lite虽然不会卡死,但是很模糊,优点是动画文件很的很小。…...
[计算机网络] VPN技术
VPN技术 1. 概述 虚拟专用网络(VPN)技术利用互联网服务提供商(ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。 优…...
SQL 中的 EXISTS 子句:探究其用途与应用
目录 EXISTS 子句简介语法 EXISTS 与 NOT EXISTSEXISTS 子句的工作原理实际应用场景场景一:筛选存在关联数据的记录场景二:优化查询性能 EXISTS 与其他 SQL 结构的比较EXISTS vs. JOINEXISTS vs. IN 多重 EXISTS 条件在 UPDATE 语句中使用 EXISTS常见问题…...
OpenSearch分析WAF日志
Web应用防火墙(WAF)是保护web应用程序的重要工具,而分析WAF日志可以帮助我们更好地了解安全威胁并优化防护策略。本文将介绍15个使用OpenSearch分析WAF日志的实用例子,涵盖基础统计、安全分析、性能监控等多个方面。 准备工作 在开始之前,请确保: WAF日志已经被发送到OpenSea…...
【前端】零基础学会编写CSS
一、什么是CSS CSS (Cascading Style Sheets,层叠样式表)是一种是一种用来为结构化文档(如 HTML 文档)添加样式(字体、间距和颜色等)的计算机语言,能够对网页中元素位置的排版进行像素级别的精…...
Day07-ES集群加密,kibana的RBAC实战,zookeeper集群搭建,zookeeper基本管理及kafka单点部署实战
Day07-ES集群加密,kibana的RBAC实战,zookeeper集群搭建,zookeeper基本管理及kafka单点部署实战 0、昨日内容回顾:1、基于nginx的反向代理控制访问kibana2、配置ES集群TSL认证:3、配置kibana连接ES集群4、配置filebeat连接ES集群5、配置logsta…...
RK3568 V1.4.0 SDK,USB OTG端子不能被电脑识别出adb设备,解决
修改后的/usr/bin/usbdevice: #!/bin/sh # # Usage: # usbdevice [start|update|stop] # # Hookable stages: # usb_<pre|post>_<init|prepare|start|stop|restart>_hook # <usb function>_<pre|post>_<prepare|start|stop>_hook # # Example …...
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 像 MySQL 这样的关系型数据库管理系统在许多网站和应用程序中都是必不可少的。然而,并非所有用户都习惯通过命令行来管…...
redis存入hash,key=>value和key=>(key=>value)使用Python举例
在 Redis 中,HASH 数据结构(也称为 HMAP 或 Hash Map)允许你存储键值对集合,其中每个键值对都是字段(field)和值(value)的映射。在 Python 中,你可以使用 redis-py 库来与…...
Guava LocalCache源码分析:LocalCache的get、put、expand、refresh、remove、clear、cleanUp
Guava LocalCache源码分析:LocalCache的get、put、expand 前言一、get二、put三、expand 前言 上篇文章,详细描写了Guava LocalCache怎样如ConcurrentHashMap对缓存数据进行了分段存储。本章主要针对LocalCache重要的几个接口进行说明。 一、get CanIg…...
linux-arm ubuntu18.04 qmqtt5.12.6 编译部署
安装 qt 查看qt 版本 : qmake -v 下载对应版本 qmqtt 解压下载的mqtt文件 进入qmqtt xxx/src 目录 在qt 安装目录中创建QtMqtt文件夹, - x86平台qt 默认目录为 /usr/include/x86_64-linux-gnu/qt5 - arm平台qt 默认目录为/us…...
阿里ChatSDK使用,开箱即用聊天框
介绍: 效果:智能助理 ChatSDK,是在ChatUI的基础上,结合阿里云智能客服的最佳实践,沉淀和总结出来的一个开箱即用的,可快速搭建智能对话机器人的框架。它简单易上手,通过简单的配置就能搭建出对…...
LangChain —— Message —— How to trim messages
文章目录 一、概述二、获取最后的 max_tokens 令牌三、获取第一个 max_tokens 令牌四、编写自定义令牌计数器五、连成链六、使用 ChatMessageHistory 一、概述 所有模型都有 有限的 上下文窗口,这意味着它们可以作为输入的 token 数量是有限的。如果你有很长的消息&…...
专升本-1.0.3(英语)-升本209天-星期二
自己要耐得住寂寞,守得住自己的初心,守得住自己的未来,然后不断地真实地面对自己,使自己不断地获得一个真实地成长,说真话办真事,自己总会有一条路了,说真话,办真事的那条路才是最为…...
集合媒体管理、分类、搜索于一体的开源利器:Stash
Stash:强大的媒体管理工具,让您的影音生活井井有条- 精选真开源,释放新价值。 概览 Stash是一个专为个人媒体管理而设计的开源工具,基于 Go 编写,支持自部署。它以用户友好的界面和强大的功能,满足了现代用…...
悟空率先接入国产最强编程模型Qwen3.6-Plus
4月2日,阿里巴巴正式发布新一代大语言模型Qwen3.6-Plus,阿里在企业级市场的旗舰AI应用悟空率先完成接入。Qwen3.6-Plus在代码、智能体、推理、原生多模态等能力上整体性能大幅增强,在智能体编程SWE-bench系列评测、真实世界智能体任务Claw-Ev…...
降AI率工具哪个好用知网维普万方分开对比
很多同学只关心"知网通没通过",但2026年越来越多学校开始同时要求知网和维普双重检测,部分学校还加了万方。 问题在于:一款工具在知网效果好,不代表在维普和万方也同样好。这是因为三个平台的AIGC检测算法不同。 这篇…...
大模型机器人,相对普通机器人有哪些优势?
传统电销与客服正面临效率低、成本高、体验差的三重困境。目前市面上出现了大模型机器人,相对普通机器人可以更深度跟客户沟通首先,什么是大模型机器人外呼?大模型 AI 机器人外呼凭借深度理解、拟人交互、智能决策的核心能力,正成…...
CN3881-规格书 如韵电子 10A 降压型同步单节锂电池充电管理集成电路
概述: CN3881 是一款可使用太阳能供电的 PWM 降压模式单节锂电池充电管理集成电路,可独立对单 节锂电池充电进行管理,具有封装外形小,外围元器件少和使用简单等优点。 CN3881 采用涓流,恒流和恒压充电模式,非常适合单节…...
长脉冲激光打孔技术及其与水平集算法的融合应用
长脉冲激光打孔,水平集算法工业级激光打孔就像用光做的"绣花针",在金属表面精准戳出微米级孔洞。但当我们把激光脉冲时间拉长到毫秒量级时,事情就变得有趣起来——材料不再是瞬间汽化,而是经历缓慢的熔融、流动、再凝固…...
LoRaFi库详解:面向SX1272/SX1273的Arduino LoRa通信开发指南
1. 项目概述LoRaFi 是一款面向 Arduino 平台的 LoRa 无线通信库,专为基于 Semtech SX1272/SX1273 射频芯片的硬件平台设计,核心适配对象为 LoRaFi 开发板(含配套扩展板/模块)。该库并非通用 LoRa 协议栈,而是聚焦于物理…...
告别编译!用OSGeo4W一键搞定QGIS 3.40.13二次开发环境(QtCreator配置详解)
告别编译!用OSGeo4W一键搞定QGIS 3.40.13二次开发环境(QtCreator配置详解) 当你想快速验证一个QGIS插件创意或测试某个自定义功能时,最令人沮丧的莫过于花费数天时间搭建开发环境。传统QGIS二次开发需要从源码编译,光是…...
FFTW3内存管理最佳实践:fftw_malloc与数据对齐技巧
FFTW3内存管理最佳实践:fftw_malloc与数据对齐技巧 【免费下载链接】fftw3 DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.) 项目地址: https://gitcode.com/gh_mirrors/ff/fftw3 FFTW3(Fastest Fou…...
Betaflight 2025.12:Azure RTOS架构重构带来的无人机飞控性能革命
Betaflight 2025.12:Azure RTOS架构重构带来的无人机飞控性能革命 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight作为全球最流行的开源无人机飞控固件,…...
如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南
如何高效使用FFmpegGUI:面向新手的完整视频处理工具指南 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI FFmpegGUI是一款让零基础用户也能轻松掌握专业视频处理的跨平台图形界面工具。这款基于Electron和Rea…...
