一、条件:
1、主机A=>10.114.3.11
2、主机B=>10.114.3.12
3、主机A访问主机B的ssh服务是可达的,但要输入密码;
二、目标:
从主机A访问主机B时,不需要输入密码,即实现免密访问;
例如:用于Jenkins发布时,主机A为Jenkins所在主机,主机B为目标应用部署主机。
三、操作分以下四步:
【1/4】、在主机A上生成rsa公钥和私钥,执行命令【ssh-keygen -t rsa】,并连续3个回车,记着不要有任何交互输入;
[deploy_user@bogon .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/deploy_user/.ssh/id_rsa):
/home/deploy_user/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/deploy_user/.ssh/id_rsa.
Your public key has been saved in /home/deploy_user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:6li+uN8Cjnj50BnJojQ0JChPkdgY/XEnO7h+IExbOh4 deploy_user@bogon
The key's randomart image is:
+---[RSA 2048]----+
|+B.o |
|B = . o . |
|.= . + + |
|. +.+.o |
| =.++. .S |
|..Eo+o . |
|.o.Oooo |
|. =.o*o. |
| . .=+=o. |
+----[SHA256]-----+
【2/4】检查主机B上是否存在文件:/home/deploy_user/.ssh/authorized_keys
如果不存在,可以手工创建目录和文件
【3/4】在主机A上执行以下命令,即将主机A的公钥放到主机B的认证keys文件/home/deploy_user/.ssh/authorized_keys中
# cat /home/deploy_user/.ssh/id_rsa.pub | ssh deploy_user@10.114.3.12 'cat >> /home/deploy_user/.ssh/authorized_keys'
【4/4】检查主机A上的文件目录及文件权限
[deploy_user@bogon .ssh]$ pwd
/home/deploy_user/.ssh
[deploy_user@bogon .ssh]$ ll
总用量 16
-rw-------. 1 deploy_user root 399 8月 5 17:47 authorized_keys
-rw-------. 1 deploy_user root 1679 8月 5 21:29 id_rsa
-rw-r--r--. 1 deploy_user root 399 8月 5 21:29 id_rsa.pub
-rw-r--r--. 1 deploy_user root 173 8月 5 17:23 known_hosts
必须按以下权限:建议主机A和主机B都按此权限设置
主机A和主机B都需要:chmod 700 .ssh
仅主机B需要:chmod 600 authorized_keys
四、检查免密访问效果,在主机A上访问主机B的ssh服务;
[deploy_user@bogon .ssh]$ ssh deploy_user@10.114.3.12
Last login: Wed Aug 5 21:28:04 2020 from 10.114.3.11
[deploy_user@bogon ~]$ ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.114.3.12 netmask 255.255.255.0 broadcast 10.114.3.255
inet6 fe80::bc46:8eb0:fd84:f77b prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:02:0e:01 txqueuelen 1000 (Ethernet)
RX packets 32221095 bytes 32087996313 (29.8 GiB)
RX errors 0 dropped 15 overruns 0 frame 0
TX packets 11917673 bytes 12525092188 (11.6 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 298241928 bytes 27753100908 (25.8 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 298241928 bytes 27753100908 (25.8 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
【小结】
1、采用RSA非对称密码中公钥的机制;
2、两个主机的.ssh权限都必须为700的,而目标主机的authorized_keys权限必须为600;
3、通过RSA生产秘钥对时,不输入校验数据,从而才可以免输入,相当免密了;
【温馨提示】
如果您觉得满意,可以选择支持下,您的支持是我最大的动力:
分享到:
相关推荐
本文将详细介绍如何通过shell脚本实现同时多台远程主机执行命令的方法。 首先,为了实现无密码登录远程主机,需要设置SSH密钥对免密登录。可以通过`ssh-keygen`生成公钥和私钥,并使用`ssh-copy-id`命令将本地的...
`ssh-copy-id`命令是SSH的一部分,用于将本地的公钥复制到远程主机的`~/.ssh/authorized_keys`文件中,从而实现免密登录。本文将详细讲解如何使用shell脚本来批量执行`ssh-copy-id`,以提高效率。 ### 需求 批量...
- **定义**: `sudo` 是 superuser do 的缩写,它允许系统管理员授予特定用户执行 root 权限下命令的能力。这种方式提高了系统的安全性,减少了 root 账户的使用频率。 - **示例**: 若要编辑 `.bashrc` 文件以配置...
2. **配置Worker节点**:同样在`conf`目录下,将`slaves.template`文件重命名为`slaves`,并在其中添加Worker节点的主机名。 3. **复制配置文件**:将配置好的Spark文件夹复制到其他节点上。可以使用`#scp -r /root/...
主要内容涵盖单选题和操作题两大部分。单选题涉及openGauss数据库的基本概念、数据模型、SQL语法、事务管理和用户权限等方面的知识点。操作题则围绕一个名为bookdb的图书购买信息数据库展开,具体任务包括插入图书信息、更新顾客信息、删除购买记录、查询特定图书信息以及创建视图、存储过程和触发器等实际操作。每道题目均附带详细的解题步骤和最终答案。
新建 Microsoft Word 文档 (9).docx
Delphi 12.3控件之nrCommLib Pro v9.54 Full Source for D10.3-D12.7z
内容概要:本文详细介绍了使用三菱PLC FX5U控制四轴伺服系统的全过程,涵盖硬件配置、电气接线、参数设置以及运动控制逻辑。硬件方面,选用三菱FX5U-64MT作为主控制器,搭配四个MR-JE-20A伺服驱动器和其他必要组件。软件部分则深入探讨了轴参数初始化、原点回归、多轴联动、HMI界面设计及报警处理等关键技术环节。特别针对旋转轴的特殊处理进行了详细说明,如双速原点回归、绝对定位指令的应用等。此外,还提供了调试经验和优化技巧,确保系统的高精度和平稳运行。 适合人群:从事自动化控制系统设计、调试的技术人员,尤其是对三菱PLC和伺服系统有一定了解的研发人员。 使用场景及目标:适用于工业自动化领域的四轴伺服控制系统开发,旨在帮助工程师掌握从硬件选型到软件编程的一整套解决方案,提高项目的成功率和技术水平。 其他说明:文中附有多份参考资料,包括完整的程序文件、界面工程、CAD接线图和伺服参数清单,便于读者进行实际操作和验证。
分阶段学习:先掌握基础,再深入细分领域。 理论与实践结合:学完算法后立刻用代码实现。 保持持续学习:AI技术迭代快,需跟踪最新进展。
电子硬件课程设计
Java项目基于ssm框架的课程设计,包含LW+ppt
脚本-压测相关-zyx编写
Java项目基于ssm框架的课程设计,包含LW+ppt
app.mobileconfig
内容概要:本文详细介绍了使用MotorCAD进行2极12槽永磁直流有刷电机的设计与优化方法。首先,通过Python脚本设置电机的基本参数,如外径、轴向长度、额定转速等。接着,深入探讨了磁钢选型、绕组设置、电磁仿真、热分析等多个关键技术环节。针对常见的设计难题,如齿槽转矩、磁钢充磁方向、绕组跨距等提供了具体的解决方案。同时,还分享了一些提高仿真精度和优化性能的实用技巧,如参数扫描、FEA计算、热管理等。最后,通过实测数据分析验证了设计方案的有效性。 适合人群:电机设计工程师、高校相关专业师生、对电机设计感兴趣的开发者。 使用场景及目标:适用于需要精确设计和优化小型永磁直流有刷电机的场合,帮助用户掌握MotorCAD的具体应用,提高设计效率和产品质量。 其他说明:文中提供的Python和VB脚本示例有助于自动化参数设置和批量处理任务,减少重复劳动。此外,还强调了在设计过程中需要注意的关键技术和常见陷阱,确保设计方案的可行性和可靠性。
内容概要:本文详细介绍了三相逆变器在MATLAB/Simulink环境下的PI闭环控制及解耦控制的实现方法。首先,通过坐标变换将三相电流从静止坐标系转换到旋转坐标系,确保功率守恒并实时更新转子位置角。接着,实现了带有抗饱和处理的PI控制器,防止积分风-up现象。然后,针对d轴和q轴之间的耦合问题,引入了解耦控制,通过低通滤波和交叉耦合项来稳定系统。此外,还讨论了PWM生成模块的死区时间和仿真结果的验证方法,强调了参数调试的重要性和具体策略。 适合人群:电力电子工程师、自动化控制领域的研究人员以及对三相逆变器控制感兴趣的高校师生。 使用场景及目标:适用于需要深入了解三相逆变器控制原理和技术实现的研究项目或工程应用。主要目标是掌握PI控制器的设计、解耦控制的应用及其在MATLAB/Simulink中的仿真实现。 其他说明:文中提供了详细的代码示例和调试技巧,帮助读者更好地理解和实践相关理论。同时提醒读者,仿真成功并不代表实际硬件运行无误,建议在实验过程中准备必要的保护措施。
58面经面试过程和题目.txt
OceanBase OBCP 实验指导手册V1.3
内容概要:本文详细介绍了ABB喷涂机器人IRC5P与PLC通过Profinet通讯进行程序号启动的具体步骤和注意事项。主要内容涵盖Profinet通讯的基本配置,包括设备名称、IP地址设置,RAPID代码编写,任务声明,信号映射,以及调试技巧。文中还分享了许多实际调试中的经验和常见错误,如大小写敏感、IP地址分配、程序号有效性和信号防抖处理等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是负责机器人与PLC通讯配置的技术人员。 使用场景及目标:帮助技术人员正确配置ABB喷涂机器人IRC5P与PLC之间的Profinet通讯,确保程序号能够顺利启动,避免常见的配置错误和调试难题。 其他说明:文章强调了硬件和软件配置相结合的重要性,并提供了详细的代码示例和调试建议,有助于提高系统的稳定性和可靠性。
电子硬件课后习题题目及要求.docx