网站首页 > 开源技术 正文
之前文章中关于Ansible中提到的SSH免密登录
今天具体给大家讲一讲
常见的LINUX服务器管理中,为了密码不泄露,也为了管理方便,多采用SSH远程免密码登录,像Ansible这种业务就需要用到,那么我们提前来设置一下。
本次实验环境centos7
主机1 192.168.31.155 hostname hq-oracle-01
主机2 192.168.31.175 hostname hq-web-01
主要是分为两个模式,单向SSH免密登录和双向SSH免密登录
单向SSH免密登录
192.168.31.155→准备登录→192.168.31.175
192.168.31.175?不可以登录?192.168.31.155
第一步,首先在192.168.31.155 hq-oracle-01创建密钥对
ssh-keygen -t rsa
剩下的直接回车
然后就在这个 ~/.ssh目录下面会出现id_rsa (私钥) 和 id_rsa.pub(公钥)文件
然后在192.168.31.175 hq-web-01上去创建授权key文件
可以先重复上文的步骤在 31.175上也使用ssh-keygen -t rsa
这样会自动创建~/.ssh目录
然后cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
然后将31.155上的公钥拷贝过来,我使用的是传输工具,大家也可以使用SCP命令
为了区分(因为后续还有更多的公钥要拷贝,所以将31.155上的id_rsa.pub更改为了id_rsa_155.pub)更改不会影响公钥使用。
将id_rsa_155.pub内容拷贝进入授权key文件
cat ~/.ssh/id_rsa_155.pub >> authorized_keys
Tips: >> (linux中 >单箭头是删除原内容写入 >> 双箭头是不删除原内容写入)
至此单向SSH免密码登录配置完成
在192.168.31.155上进行ssh 192.168.31.175
主机名变更,已经成功登录hq-web-01也就是192.168.31.175
然后既然是单向那么192.168.31.175是无法登录192.168.31.155
依然是需要密码
那么Ansible就适用这种模式,比如它是监控主机或者管理主机,那么最好就是单向免密码的,也就是31.155的角色就是相当于Ansible主机,31.175就相当于被管理的机器。
------------------------------------------------华丽的分割线-------------------------------------------------------
双向SSH免密登录
192.168.31.155→准备登录→192.168.31.175
192.168.31.175→准备登录→192.168.31.155
为了保证实验条件一致,我们删除原先的文件(~/.ssh下面所有文件)。
重新在31.155和31.175生成密钥对文件
31.175重新执行 ssh-keygen -t rsa
cd ~/.ssh
touch authorized_keys
chmod 600
将 id_rsa.pub 改为 id_rsa_175.pub 拷贝至 31.155
31.155重新执行 ssh-keygen -t rsa
cd ~/.ssh
touch authorized_keys
chmod 600
将 id_rsa.pub 改为 id_rsa_155.pub 拷贝至 31.175
然后各自将对方的公钥添加至本机授权key文件中
cat ~/.ssh/id_rsa_155.pub >> authorized_keys (31.175环境)
cat ~/.ssh/id_rsa_175.pub >> authorized_keys (31.155环境)
效果呈现
双向免密登录成功。
当然生产环境中,我们一般不用root账户进行,可以创建其他受限账户,进行免密登录。
另外Ansible可以执行批量的免密登录设置,无需此类手动方式。
前提是服务器密码一致,不然得在配置文件中添加不同的账号密码。
最后附上SSH免密登录原理图
- 上一篇: 怎么不用公网,SSH远程连接内网服务器
- 下一篇: ssh固定资产管理系统(《固定资产管理系统》)
猜你喜欢
- 2024-10-21 ssh端口转发教程(ssh端口转发 内网穿透)
- 2024-10-21 U-NAS系统登陆管理的几种方法(u-nas登陆账号密码)
- 2024-10-21 java程序员的基础知识篇,回顾ssh
- 2024-10-21 「JSP入门」JavaWeb项目如SSH或SSM等如何提升80%以上效率
- 2024-10-21 假如 SSH 协议基于 HTTP/3 构建,会是什么样?
- 2024-10-21 如何加强云端的SSH安全性(云端数据加密)
- 2024-10-21 简单分析实现运维利器---webssh终端libl
- 2024-10-21 基于JavaEE架构SSH框架的web项目实现
- 2024-10-21 2019最新Java Web J2EE下的两大框架SSH和SSM对比
- 2024-10-21 使用Jenkins通过Publish Over SSH插件远程控制主机执行脚本
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)