Kubernetes

docker 容器开启 ssh 服务远程连接

docker容器开启 ssh 服务远程连接

# 启动 centos:latest 空容器
docker run -tid --name node1 --hostname node1 -p 2022:22 centos:centos7.9.2009 /usr/sbin/init tail -f /dev/null

# 进入容器
docker exec -it node1 bash
  • 容器中启动 ssh
# 安装依赖
yum install -y passwd net-tools openssl openssh-server

# 尝试启动
/usr/sbin/sshd -D

# 可能会报错:
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

# 生成密钥对,解决报错
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''  
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

# 接着修改 sshd_config 配置
vi /etc/ssh/sshd_config
# 1. 将 Port 22 前面的注释去掉(开启22号端口)
# 2. 将 PermitRootLogin  的 no 改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)

# 再重启
/usr/sbin/sshd -D &

# 修改 root 密码
passwd

留言

您的电子邮箱地址不会被公开。