骏骏的运维小窝

如何在kubernetes中开启容器的sshd服务

2025/11/18
1
0

本文介绍了如何通过传统的ssh方式连接到运行的容器中。



在Kubernetes中,运维人员可以很方便的通过Kubectl exec登录某台节点排查问题。

但对于一些开发,或者供应商人员,给其完全的权限就不是很合适了。

前提:


需要kubernetes容器与宿主机在同一个网段中,即大二层打通。

如果是传统模式,则只能登录到kubernetes集群中操作。


解决方案:


安装openssh服务:

yum install openssh-server 

由于kubernetes需要提权才能够使用systemctl命令,因此手动启动/usr/sbin/sshd报错:

Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

手动创建这些key:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key

手动启动sshd:

/usr/sbin/sshd

修改root密码并尝试连接:

passwd