宝塔内 计划任务更新远程主机的时间

很多情况下一些主机无法上网,长此以往有可能让系统内的时间混乱 ,这是一个很愁人的事情
这里我们找了一个可以通过宝塔的计划任务或 cron 不断将本地时间通过ssh登录,并在登录状态下设置时间的方法.找了很多方案都不行 .最终采用了私钥登录的方案
1 使用宝塔的计划任务(可选):
需要知道计划任务是由谁执行的,首先需要强调的是宝塔执行计划任务,一般是由root执行计划任务,我们可以在计划任务中执行下面的bash来了解我是谁.

echo $(whoami)  #在计划任务中输入语句,并执行查看结果,很有可能是root

现在知道了我们要用root来执行计划任务,那么登录者比认识root,而我们的ubuntu默认root账户没有启用,但是虽然使用root账户来登录远程主机,当我们发现 root账户的

ssh pi的私钥  pi@ip       

仍然可以直接登录,所以我们可以不用在root中生成钥匙.
2 解除root登录(可选)
一般情况下root并没有启用.启用方法如下

sudo usermod root -p password
sudo passwd root  #输入root的密码  

设置好密码之后登录root,下一步就是生成密钥

3 为了启用私钥登录.需要在本地主机和远程主机保持密钥
在本地主机生成密钥

ssh-keygen -t rsa -b 4096 #本地生成密钥位置在 /home/用户名/.ssh/内,如果时root账户 那么位置为/root/.ssh/ 

/home/用户名/.ssh文件夹(或/root/.ssh文件夹)下回有两个文件 公钥为id_rsa.pub 私钥为 id_rsa
将来我们要在本地文件夹(/home/用户名/.ssh)保留私钥不动,并将公钥内容复制到目标主机的 /home/目标主机用户名/.ssh/authorized_keys文件中
注意 authorized_keys是一个文件.
如果.ssh文件夹没有可以创建新的.ssh文件夹,同时如果没有authorized_keys文件也可以创建新的
如果authorized_keys已经存在,请将光标移动到末尾 并将公钥复制进去到远程的/home/目标主机名.ssh/authorized_keys中
这个时候基本上登录就不需要密码了
布局密钥基本思路:
将账户生成的位于/home/本地用户名/.ssh内的id_rsa.pub里的内容复制出来
将内容放到远程主机的/home/用户名/.ssh/authorized_keys里就可以实现无密码登录

cat /root/.ssh/id_rsa.pub
#复制id_rsa.pub的内容
ssh 用户名@ip
#登录
vim /home/用户名/.ssh/authorized_keys
#换行粘贴内容或内容为空时直接粘贴
#保存
:wq
#退出ssh
exit

4. 在宝塔上设置计划任务
在宝塔上找到计划任务,并将一下bash代码复制进去,并修改登录名和密码

#!/bin/bash# 远程主机的信息
REMOTE_HOST="192.168.5.83" #登录目标主机
REMOTE_USER="pi" #登录时使用的用户名  
REMOTE_PASSWORD="pi" #用来执行sudo时填入密码
REMOTE_KEY="/home/pi/.ssh/id_rsa" #这里是本地保存的私钥,用来登录用的.  # 定义要设置的时间(可选,根据您的需求进行调整)
# 例如,设置时间为 "2023-10-23 12:00:00"(请确保格式正确)
CURRENT_TIME=$(date "+%Y-%m-%d %H:%M:%S")
echo $CURRENT_TIME
# 使用 SSH 连接到远程服务器并执行命令
ssh -i "$REMOTE_KEY" "$REMOTE_USER@$REMOTE_HOST" "sudo -S date -s '$CURRENT_TIME' <<EOF
$REMOTE_PASSWORD
EOF
"# 检查 SSH 命令的退出状态
if [ $? -eq 0 ]; thenecho "Time setting command executed successfully."
elseecho "Error executing time setting command."
fi

此处需要修改
REMOTE_HOST=“192.168.5.83”
REMOTE_USER=“pi”
REMOTE_PASSWORD=“pi”
REMOTE_KEY=“home/pi/.ssh/id_rsa”
为你需要的信息即可.

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

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

相关文章

WindowsMac共享文件夹设置

共享文件夹设置 共享文件夹设置Windows系统设置步骤一&#xff1a;设置共享文件夹步骤二: 访问共享文件夹 Mac系统中设置共享文件夹步骤一&#xff1a;设置共享文件夹步骤二&#xff1a;访问共享文件夹 小贴士结论 共享文件夹设置 有时需要在多台电脑之间共享文件夹&#xff0…

4.MkDocs样式

学习 Admonitions(警告) - Material for MkDocs (wdk-docs.github.io) 提示 - Material for MkDocs 中文文档 (llango.com) Buttons(按钮) - Material for MkDocs (wdk-docs.github.io) 建议去看这些网站&#xff0c;更为详细。 常用功能 便利贴 ​​ 开启 markdown_ex…

Linux笔记之iftop查看特定IP地址吞吐量

Linux笔记之iftop查看特定IP地址吞吐量 code review! 文章目录 Linux笔记之iftop查看特定IP地址吞吐量一.iftop安装与监控二.iftop 界面简单介绍如何查看单位实时流量的显示形式控制单位显示示例 三.数据存储和传输的单位&#xff1a;比特&#xff08;bit&#xff09;和字节&…

Gemma2——Google 新开源大型语言模型完整应用指南

0.引言 Gemma 2以前代产品为基础&#xff0c;提供增强的性能和效率&#xff0c;以及一系列创新功能&#xff0c;使其在研究和实际应用中都具有特别的吸引力。Gemma 2 的与众不同之处在于&#xff0c;它能够提供与更大的专有模型相当的性能&#xff0c;但其软件包专为更广泛的可…

hdfs大规模数据存储底层原理详解(第31天)

系列文章目录 一、HDFS设计原理 二、HDFS系统架构 三、HDFS关键技术 四、HDFS应用实例 五、解决HDFS不能处理小文件详解问题 文章目录 系列文章目录前言一、设计原理二、系统架构三、关键技术四、应用实例五、解决HDFS不能处理小文件详解问题1. 合并小文件2. 优化Hive配置3. 使…

DDR3 SO-DIMM 内存条硬件总结(一)

最近在使用fpga读写DDR3&#xff0c;板子上的DDR3有两种形式与fpga相连&#xff0c;一种是直接用ddr3内存颗粒&#xff0c;另一种是通过内存条的形式与fpga相连。这里我们正好记录下和ddr3相关的知识&#xff0c;先从DDR3 SO-DIMM 内存条开始。 1.先看内存条的版本 从JEDEC下载…

Mysql练习题目【7月10日更新】

七、Mysql练习题目 https://zhuanlan.zhihu.com/p/38354000 1. 创建表 创建学生表 mysql> create table if not exists student(-> student_id varchar(255) not null,-> student_name varchar(255) not null,-> birthday date not null,-> gender varchar(…

前端面试题33(实时消息传输)

前端实时传输协议主要用于实现实时数据交换&#xff0c;特别是在Web应用中&#xff0c;它们让开发者能够构建具有实时功能的应用&#xff0c;如聊天、在线协作、游戏等。以下是几种常见的前端实时传输协议的讲解&#xff1a; 1. Short Polling (短轮询) 原理&#xff1a;客户…

【1】A-Frame整体介绍

1.A-Frame是什么&#xff1f; A-Frame 是一个用于构建虚拟现实 (VR) 体验的 Web 框架。 A-Frame 基于 HTML 之上&#xff0c;因此上手简单。但 A-Frame 不仅仅是 3D 场景图或标记语言&#xff1b;它还是一种标记语言。其核心是一个强大的实体组件框架&#xff0c;为 Three.js …

Golang | Leetcode Golang题解之第226题翻转二叉树

题目&#xff1a; 题解&#xff1a; func invertTree(root *TreeNode) *TreeNode {if root nil {return nil}left : invertTree(root.Left)right : invertTree(root.Right)root.Left rightroot.Right leftreturn root }

AI机器人在未来的应用场景预测:是否会取代人类?华为、百度、特斯拉他们在AI领域都在做什么?

引言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;AI机器人在各个领域的应用变得越来越普遍。从工业自动化到日常生活&#xff0c;AI机器人已经开始展现出强大的潜力和实际应用价值。本文将深入探讨AI机器人在未来的应用场景&#xff0c;并分析它们是否…

uniapp+vue3嵌入Markdown格式

使用的库是towxml 第一步&#xff1a;下载源文件&#xff0c;那么可以git clone&#xff0c;也可以直接下载压缩包 git clone https://github.com/sbfkcel/towxml.git 第二步&#xff1a;设置文件夹内的config.js&#xff0c;可以选择自己需要的格式 第三步&#xff1a;安装…

大模型/NLP/算法面试题总结3——BERT和T5的区别?

1、BERT和T5的区别&#xff1f; BERT和T5是两种著名的自然语言处理&#xff08;NLP&#xff09;模型&#xff0c;它们在架构、训练方法和应用场景上有一些显著的区别。以下是对这两种模型的详细比较&#xff1a; 架构 BERT&#xff08;Bidirectional Encoder Representation…

【Web前端】JWT(JSON Web Tokens)概述

1、简介 JWT&#xff08;JSON Web Tokens&#xff09;是一种用于双方之间安全传输信息的简洁的、URL安全的令牌标准。 它基于JSON对象&#xff0c;并通过数字签名确保其完整性和真实性。 JWT因其小巧、自包含以及易于在客户端和服务器之间传输的特性而被广泛使用于身份验证和…

python字符串验证从基础到进阶的总结

引言 在数据处理和文本挖掘中&#xff0c;对字符串的验证是确保数据符合特定要求的关键步骤之一。其中一个常见的验证需求是确认字符串是否只包含字母。Python为此提供了多种实现的方法&#xff0c;我们将逐一讨论它们。 方法1&#xff1a;使用 isalpha() 方法 def is_all_l…

UML 2.5图的分类

新书速览|《UML 2.5基础、建模与设计实践》新书速览|《UML 2.5基础、建模与设计实践 UML 2.5在UML 2.4.1的基础上进行了结构性的调整&#xff0c;简化和重新组织了 UML规范文档。UML规范被重新编写&#xff0c;使其“更易于阅读”&#xff0c;并且“尽可能减少前向引用”。 U…

php简单实现利用飞书群里机器人推送消息的方法

这是一篇利用的飞书的自定义机器人&#xff0c;将系统中的错误信息推送给技术群的功能代码示例。 飞书文档地址&#xff1a;开发文档 - 飞书开放平台 自定义机器人只能在群聊中使用的机器人&#xff0c;在当前的群聊中通过调用webhook地址来实现消息的推送。 配置群逻辑可以看…

LLM应用构建前的非结构化数据处理(三)文档表格的提取

1.学习内容 本节次学习内容来自于吴恩达老师的Preprocessing Unstructured Data for LLM Applications课程&#xff0c;因涉及到非结构化数据的相关处理&#xff0c;遂做学习整理。 本节主要学习pdf中的表格数据处理 2.环境准备 和之前一样&#xff0c;可以参考LLM应用构建前…

金蝶部署常见问题解决

金蝶部署常见问题解决 金蝶版本&#xff1a; Apusic Application Server Enterprise Edition 9.0 SP8 kbc build 202312041121 报错信息&#xff1a; 与金蝶官方人员沟通&#xff0c;发现lib包版本太低&#xff0c;升级后可正常使用。替换lib包后重启服务。 下载lib: 链接: …

西瓜杯CTF(1)

#下班之前写了两个题&#xff0c;后面继续发 Codeinject <?php#Author: h1xaerror_reporting(0); show_source(__FILE__);eval("var_dump((Object)$_POST[1]);"); payload 闭合后面的括号来拼接 POST / HTTP/1.1 Host: 1dc86f1a-cccc-4298-955d-e9179f026d54…