SSH免密登录 远程创建账户

初级代码游戏的专栏介绍与文章目录-CSDN博客

        SSH免密登录是个很方便的功能,让你可以在一个节点上操作所有主机而不用输入用户名密码。当然这也是个安全隐患,操作节点密码泄露等于所有主机密码泄露。有利有弊,斟酌选择。

目录

一、原理

二、操作步骤

2.1 生成本地密钥对

2.2 复制公钥到对方

2.3 验证

三、其他说明和操作示例

3.1 可以配置本机

3.2 连续执行多个指令

3.3 执行远程用户的配置文件

3.4 后台执行

四、远程自动创建用户并设置免密码


一、原理

        原理很简单,在要远程操作的主机上把控制端的证书安装到受信任的位置就可以了。非对称加密实在是个奇妙的东西。当然,安装证书这一步需要被控制端的管理员自己进行。

二、操作步骤

2.1 生成本地密钥对

#生成本地密钥对,可指定文件名,默认为id_rsa和id_rsa.pub
ssh-keygen -t rsa -P ''

2.2 复制公钥到对方

#复制公钥到对方,由于目前还不是免密码的,因此执行过程需要输入密码(在.ssh目录下执行)
ssh-copy-id -i id_rsa.pub 用户名@对方主机名

2.3 验证

#执行任何命令来测试免密码登陆是否成功,例如
ssh '用户名@对方主机名' ls -al

三、其他说明和操作示例

3.1 可以配置本机

也可以配置127.0.0.1和本机地址,以便程序可以用ssh访问本机本用户

3.2 连续执行多个指令

如果需要连续执行多个指令,需要把对方主机的指令用引号包裹,不然会分号之后的指令会在本地执行
ssh '用户名@对方主机名' 'cd efc;ls -al'

3.3 执行远程用户的配置文件

对方主机登陆后可能并未执行用户配置文件,因此需要把执行用户配置文件作为第一个指令(指令是 . ./bash_profile)
ssh '用户名@对方主机名' '. ./.bash_profile;cd efc;ls -al'

3.4 后台执行

对于启动后台进程的命令ssh不能退出,可以加上 "> /dev/null 2>&1" 将输出关闭
这样可以退出并且仍然可以得到退出码,但是得不到屏幕输出

四、远程自动创建用户并设置免密码

首先手工给远程root安装公钥,除非制作安装包时提前做好,否则只能手工

然后复制远程root的.ssh到用户模板目录,这样新用户创建时自动安装好公钥(注意,root下应该还没有安装别的公钥)
ssh 'root@192.168.254.4' 'cp -r .ssh /etc/skel'

远程创建用户(逐条执行,一次多行会失败)
ssh 'root@192.168.254.4' 'useradd user1;echo "123" | passwd --stdin user1'
ssh 'root@192.168.254.4' 'useradd user2;echo "123" | passwd --stdin user2'
ssh 'root@192.168.254.4' 'useradd user3;echo "123" | passwd --stdin user3'
ssh 'root@192.168.254.4' 'useradd user4;echo "123" | passwd --stdin user4'
ssh 'root@192.168.254.4' 'useradd user5;echo "123" | passwd --stdin user5'
ssh 'root@192.168.254.4' 'useradd user6;echo "123" | passwd --stdin user6'

测试远程用户
ssh 'user2@192.168.254.4' ls -al

语言设置
export LANG=zh_CN.UTF-8

删除用户
userdel user1;rm -rf /home/user1
userdel user2;rm -rf /home/user2
userdel user3;rm -rf /home/user3
userdel user4;rm -rf /home/user4
userdel user5;rm -rf /home/user5
userdel user6;rm -rf /home/user6

(这里是结束)

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

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

相关文章

JMeter 常见函数讲解

当使用JMeter进行性能测试或负载测试时,函数是一个非常有用的工具,可以帮助生成动态的测试数据或处理测试结果。 下面是一些常用的JMeter函数的详细讲解和并列示例: 1、__threadNum: 返回当前线程的编号。可以在测试过程中用于…

2024/4/1—力扣—主要元素

代码实现&#xff1a; 思路&#xff1a;摩尔投票算法 int majorityElement(int *nums, int numsSize) {int candidate -1;int count 0;for (int i 0; i < numsSize; i) {if (count 0) {candidate nums[i];}if (nums[i] candidate) {count;} else {count--;}}count 0;…

C++学习笔记九--模版

目录 前言 1.函数模版 1.函数模版的概念和定义 2.函数模版的实例化 2.类模版 1.类模版的概念和定义 2.类模版的实例化 3.示例代码 前言 这篇文章介绍下C中的模版&#xff0c;包括函数模版和类模版。 1.函数模版 在编程的过程中&#xff0c;编写函数都会考虑将其写成模版…

静态中间继电器 HJZ-J908 AC380V 导轨安装 JOSEF约瑟

系列型号&#xff1a; HJZ-J902静态中间继电器&#xff1b;HJZ-J905静态中间继电器&#xff1b; HJZ-J907静态中间继电器&#xff1b;HJZ-J907L静态中间继电器&#xff1b; HJZ-J908静态中间继电器&#xff1b;HJZ-J909静态中间继电器&#xff1b; HJZ-J910静态中间继电器&…

SpringCloud学习(12)-SpringCloudAlibaba-Sentinel

Sentinel介绍 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 官网 home | Sentinel 下载…

如何查看当前swap 在哪个文件,linux swap 分区被占满了,如何手动处理

查看当前swap 查看当前swap在哪个文件&#xff0c;可以使用以下命令&#xff1a; cat /proc/swaps 输出结果中&#xff0c;Filename列显示了当前swap文件的文件名。 例如&#xff0c;输出结果如下&#xff1a; cat /proc/swapsFilename Type Size Used Priority /swa…

python应用-计算两个日期的时间差

学习目录 1. 安装deteutil包 2. 导入relativedelta类 3. 计算两个日期的差值 4. 计算1个日期和时间差相加后得到新的日期 之前在工作中遇到一个使用场景&#xff1a;需要计算两个日期之前的差值&#xff0c;比如相差了几年几月几日&#xff0c;查找资料发现deteutil包的rel…

vue3中封装table表格

封装实例useTable import {ref } from vue export function useTable(api) {const data = ref([])const refre

从用友U9到钉钉通过接口配置打通数据

从用友U9到钉钉通过接口配置打通数据 接通系统&#xff1a;用友U9 用友U9cloud深耕制造领域十三载&#xff0c;U9cloud在机械、电子、汽配、家具、整车、军工等细分行业有着深厚的积累&#xff0c;尤其是机械、电子和汽配行业&#xff0c;不但打造了多个成熟的产品模式和应用场…

【频繁模式挖掘】FP-Tree算法(附Python实现)

一、实验内容简介 该实验主要使用频繁模式和关联规则进行数据挖掘&#xff0c;在已经使用过Apriori算法挖掘频繁模式后&#xff0c;这次使用FP-tree算法来编写和设计程序&#xff0c;依然使用不同规模的数据集来检验效果&#xff0c;最后分析和探讨实验结果&#xff0c;看其是…

计算机视觉入门教程

计算机视觉是一门涉及多个学科的综合性技术领域&#xff0c;它主要研究如何使计算机能够“看到”并理解图像或视频中的信息。对于初学者来说&#xff0c;入门计算机视觉需要掌握一系列的基础知识和技能。以下是基于搜索结果提供的计算机视觉入门教程的详细指南。 1. 计算机视觉…

【Android】Glide加载SVG,SVG转PNG

Dependency plugins {id kotlin-kapt }dependencies {api com.github.bumptech.glide:glide:4.12.0kapt com.github.bumptech.glide:compiler:4.12.0api com.caverock:androidsvg:1.4 }SvgDecoder 负责解码SVG资源 import com.bumptech.glide.load.Options import com.bumpte…

初学python记录:力扣2009. 使数组连续的最少操作数

题目&#xff1a; 给你一个整数数组 nums 。每一次操作中&#xff0c;你可以将 nums 中 任意 一个元素替换成 任意 整数。 如果 nums 满足以下条件&#xff0c;那么它是 连续的 &#xff1a; nums 中所有元素都是 互不相同 的。nums 中 最大 元素与 最小 元素的差等于 nums.…

C# Solidworks二次开发:向量相关的数学函数API使用(第二讲)

大家好&#xff0c;今天要讲的是关于向量相关的API&#xff0c;之前讲的不再进行介绍&#xff0c;想了解的可以看我之前的文章&#xff1a; C# Solidworks二次开发&#xff1a;向量相关的数学函数API的使用介绍_solidworks二次开发中矩阵变换函数-CSDN博客下面介绍向量其它的相…

C# Solidworks二次开发:涉及主框架相关API详解(第二讲)

大家好&#xff0c;今天要介绍的是和主框架Frame相关的几个API&#xff0c;之前我也在一篇文章中提过一些&#xff0c;没看过的家人可以看一下&#xff1a; C# Solidworks二次开发&#xff1a;获取主窗口API和创建新活动窗口API详解_solidworks二次开发c#-CSDN博客 下面介绍一…

Vue主流UI框架

Vue UI框架是一系列专为Vue.js应用程序设计的用户界面&#xff08;UI&#xff09;组件库&#xff0c;这些组件库提供了预封装的、可复用的UI元素&#xff0c;如按钮、表格、输入框、导航菜单、提示框、卡片、布局容器等&#xff0c;帮助开发者快速构建美观且功能完善的前端界面…

【C++初阶】第九站:vector的介绍及使用

前言&#xff1a; &#x1f3af;个人博客&#xff1a;Dream_Chaser &#x1f388;博客专栏&#xff1a;C &#x1f4da;本篇内容&#xff1a;vector的介绍及使用 ​ 目录 一、vector的介绍 二、vector的使用 1.vector的定义 2.vector iterator(迭代器)的使用 begin和end(…

Spring Boot:数据库的整合

Spring Boot 前言Spring Boot 整合 JDBCSpring Boot 整合 Druid 数据源Spring Boot 整合 MyBatisSpring Boot 整合 JPA 前言 在 Spring Boot &#xff1a;Web开发之视图模板技术的整合 文章中&#xff0c;介绍了 Spring Boot 整合视图模板技术。然而&#xff0c;仅仅整合视图模…

用选择法对数组中10个整数按由小到大排序

#include <stdio.h> /** * 主函数&#xff1a;通过用户输入创建一个数组&#xff0c;并将其进行排序后打印。 */ int main(){ // 定义一个排序函数&#xff0c;接受一个整型数组和数组长度作为参数 void sort (int array[],int n); int a[10],i; // 定义一个…

.net框架和c#程序设计第二次测试

一、实验内容 1、设计一个用户登录页面webform1.aspx&#xff0c;效果如下图所示&#xff1a; 2、点击webform1.aspx中“还未注册”连接进入register.aspx&#xff0c;注册页面效果如下图所示&#xff1a;点击用户注册信息到usershow.aspx页面&#xff0c;并显示注册的用户信息…