问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

【小记】Docker容器间SSH公钥自动交换实现免密登录的一次尝试

发布网友 发布时间:2024-09-30 10:01

我来回答

1个回答

热心网友 时间:2024-10-23 03:22

我的博客上也有这篇小记,那里的排版更佳。

随着毕设的临近,我开始考虑使用Docker部署一个Spark + Hadoop的伪分布式集群。Docker的便捷性让我印象深刻,镜像一启动就可使用,省去了繁琐的环境配置。

然而,在配置Hadoop时,我遇到了SSH免密登录的需求。Hadoop节点间需要通过SSH互相通信,这就要求配置公钥交换以实现无密码登录。最初,我参考了一个GitHub上的Hadoop Docker部署项目,计划在镜像构建时生成SSH密钥对,并将其添加到authorized_keys中。

理论上,这样所有容器间的SSH连接应该可以免密登录。然而,在WSL环境下,我尝试了多次都未能成功。我调整了文件权限和SSH配置,但SSH服务始终无法正常工作。这个过程耗时颇久,问题仍未解决。

在摸索中,我意识到自己在生成密钥对时犯了一个错误,改变了默认的文件名。SSH默认会寻找以"id_"开头的密钥文件,而我使用的密钥文件名为rsa_pair,导致认证失败。解决方法是明确指定密钥文件路径,通过ssh或ssh-copy-id命令。

我意识到,有时一个小错误可能耗费大量时间。我修正了错误,利用Bash脚本实现了SSH公钥的自动交换。在Dockerfile中,我创建了环境变量SH_HOSTS,包含了所有节点的主机名,并在容器启动时执行一个entry.sh脚本,该脚本包含SSH服务启动和密钥交换的步骤。

脚本首先启动SSH服务,然后通过ssh_key_exchange.sh脚本与其它容器交换公钥。脚本会监控标记文件,直到所有主机的公钥都被交换后,删除临时密码文件,修改SSH配置,禁用密码登录,最后重启SSH服务。

通过这个方法,多个容器在完成公钥交换后,即可实现无密码的跨容器SSH连接。整个过程用图形示例解释起来,就像三个节点master、worker1和worker2间公钥的流动,通过exchange_flags目录中的标记文件相互确认。
【小记】Docker容器间SSH公钥自动交换实现免密登录的一次尝试

脚本首先启动SSH服务,然后通过ssh_key_exchange.sh脚本与其它容器交换公钥。脚本会监控标记文件,直到所有主机的公钥都被交换后,删除临时密码文件,修改SSH配置,禁用密码登录,最后重启SSH服务。通过这个方法,多个容器在完成公钥交换后,即可实现无密码的跨容器SSH连接。整个过程用图形示例解释起来,就像三个...

ip 池 - StormProxies

StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,StormProxies还提供多种API参数,以账密管理方式提取IP,保证了安全性。StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...

如何向远程服务器添加公私钥以进行无密码SSH身份验证

首先,在本地生成密钥对,完成此操作。接着,将公钥复制至远程服务器,若需要指定端口,如192.168.103.67上的Docker容器端口9332,可输入命令:ssh-copy-id -p 9332 root@192.168.103.67,然后输入远程服务器密码进行身份验证。公钥自动复制至服务器的~/.ssh/authorized_keys文件中。如若服务器无.ss...

VSCode网页版(本地版)连接(远程)Docker容器的SSH服务

为了减少每次打开VSCode时都需要输入密码的麻烦,你可以学习git的做法,将SSH密钥添加到VSCode的远程个人配置中,这样可以实现免密登录。只需要按照步骤配置,即可享受更为便捷的远程开发体验。

Docker创建Container,包括安装、使用、及SSH链接

使用`--add-host`将主机名和IP添加到容器的hosts文件中。Container的SSH配置涉及到修改文件内容、保存并退出。服务器信息包括IP地址、用户名(root)和密码,以及自定义SSH端口。为VSCode免密登录,需生成公钥对并添加到authorized_keys,私钥需复制到本地对应路径。在其他关键操作中,注意镜像打包时需明确...

【健忘笔记】Clion连接docker远程开发

首先,通过Docker在Linux服务器上创建一个容器,以便为特定项目提供独立的运行环境。在Linux服务器登录后,拉取相应的镜像,启动容器,并绑定数据卷,确保容器内数据不会丢失。同时,为了提供SSH服务,可以将容器的端口36022与本地的SSH服务进行绑定。接下来,配置容器内的SSH服务,包括修改root密码、配置SSH...

Docker 下的 CentOS 安装 SSH

1. 下载镜像:运行相关命令从Docker仓库下载CentOS Linux release 8.4.2105的镜像。安装SSH服务前,确保容器内部环境已更新:2. 更换源:进入容器后,修改其软件源,以便后续安装。接下来,为root用户设置密码以增强安全性:3. 设置root密码:通过passwd命令为root用户设置一个新密码,记得这个密码,因为后续...

群晖小白系列(二十)群晖Container Manager到Docker容器技术_百度...

Docker能帮助你将程序和环境打包成容器,方便在不同环境和设备间迁移。群晖的Container Manager就像是Docker的管理工具,简化了容器的查看和管理。例如,通过SSH登录群晖,使用sudo -i切换到root用户后,可以使用docker ps查看容器,docker images列出镜像,docker run命令则用于创建和运行容器。Docker-compose是...

利用Frp实现内网穿透-ssh登录功能(docker实现)

内网穿透通过Frps实现SSH登录功能(Docker协助)在上一篇文章的基础上,我们将在WSL2环境中利用Docker部署CentOS镜像并开放SSH服务,让你能够通过公网IP远程登录。首先,确保WSL2中已安装CentOS镜像并允许SSH端口(默认22端口)访问。1. Docker部署与映射 编写Dockfile脚本,内容包括创建镜像和启动容器,映射外网...

Jekyll 篇二:自动部署服务器博客

注册并登录 Docker Hub,设置 Automated Build,建立 Docker 镜像。在服务器上执行代码拉取并启动 Docker 镜像。四、SSH 免密码登录 生成公钥/私钥对,添加公钥至服务器受信列表,安装 Travis 客户端,创建空白 .travis.yml 文件,并添加加密私钥。五、.travis.yml 配置 .travis.yml 文件用于定义自动 ...

Kubernetes基础知识笔记

首先原生的Docker在Docker engine启动之后会创建一个Docker0虚拟网桥(作为虚拟交换机),Docker0拥有一个16位的网段,它将会从这个网段当中抠出地址分配给新建的容器使用,同一台宿主机上面的容器网络交互都是通过Docker0进行交换的(具体原理就是创建容器的时候容器的端口也会在Docker0上面创建一个veth端口,相当于容器与虚...

可以变大变小的容器 5一10毫升小容器 比缸小的容器叫什么 小网站的容器化 一个公钥对应多个私钥 小容器有哪些 小哩容器 小塑料容器 真空小容器
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
文件密使无法恢复解密,请高手帮忙 加密文件打不开了,请教高手..急需用那些文件 跪求电脑高手帮忙解决文件加密问题,我把所有积分给他。 我的优盘是联想的,用自带的加密软件加密后,忘了密码,请教高手,怎么解密... pe pb是什么 抱着柴火去火跟前猜谜语 关于租用办公室房产税如何计算与缴纳的问题 一个人抱着柴火前方是火是打一成语的谜语 ...前男友跟别的女人抱一起的时候,放的背景纯音乐出自哪里 ...从前男友家出来后被阿苏接上车,在车上的背景音乐是什么,在哪里有下... 使用Docker部署docker-compose-ui工具并实现公网访问 利用Frp实现内网穿透-ssh登录功能(docker实现) 梦见在回家的路上看见有人放了好几个钩在钓鱼,其中一个鱼已上钩,那些人... 北极村旅游风景区-憩园地址在哪里? 荣耀20密码忘了怎么解锁? 最北之北的地方 ...然后输入多次密码错误后 显示iphone已停用 连接iTunes 是什么意思... iphone已停用怎么通过id解锁 苹果已停用,怎么办 移动式抛丸机的工作原理 夫妻同房有哪些注意事项? 冬季马上到了。这天气冷的要命。做啥小吃生意火爆呢?想找个小吃项目,好... ...没有既经济实惠,既快又热乎的小吃[除沙锅,麻辣烫外] 现经营砂锅土豆粉刀削面可以增加什么别的小吃吗 如何护理抑郁症患者 用什么打开ppt? 请问衣服上的大号中号特大号小号分别用字母怎么表示? ...之后想要充值月卡服。因为人有点懒不希望重 剑三在点卡服充值但是没注意点成月卡 会自动转成点卡么? 奇迹mu觉醒大天使武器怎么获得?介绍_奇迹mu觉醒大天使武器怎么获得... 淘特可以和淘宝共享吗? ...能装哪些软件呢,求推荐哦亲 ,谢谢你们。不装杀毒软件有关系吗_百度... 风水真的会影响后代吗?城市里的楼房风水不好是不是一幢楼的事? ...到word里不能完全显示出来excel图表复制到word中显示不全 有个同事向我借一千钱,我该借吗? iPad还是Macbook Air? 我有PC和iphone4 ...我借了一千元,第二个月发工资马上就还给我了,现在我已经离职了,她又... 同事问我借了一千元,当时说过一个月就还,都一年多了从来都没提过。最 ... 焊修易燃易爆的容器应注意哪些事项? 怎么样才能在快手开通小店呢? 为什么同一根网线插在笔记本上能上网,插在台式机上就上不了网了?笔记本... 快手小店怎样才能开起来? 同一根网线笔记本上网正常台式机无法识别网络怎么解决 怎样才能让小店关闭 家里同一根网线,笔记本可以上网,但台式机不能上,不停的提示网线被拔出... 求一本言情小说的名字,好几年前看到的,女主姓温,男主好像姓凌... 06版神雕侠侣剧情介绍 淘宝商品点赞软件介绍_淘宝商品点赞软件是什么 这些星座男是出了名的花心男一定要远离 什么是收益权转让