一、首先假设你已启动了一个docker容器,并在启动时将容器的22端口映射到宿主机的10022端口
启动示例:
docker run -id --name pname -p 10022:22 -v /ai1/muxing/codes/projectname:/root/codes/code/projectname yolov5:v3.1
二、进行容器内部修改
docker exec -it 容器名 /bin/bash
1、修改root用户密码
passwd
2、首先检查容器内部是否以安装 openssh-server与openssh-client 若没安装执行一下命令安装
修改apt-get update速度
# 更新数据源
apt-get update# 安装 ssh
apt-get install -y openssh-server
apt-get install -y openssh-clientapt-get install -y vim
# 修改 ssh 的配置文件
vim /etc/ssh/sshd_config# 在默认添加以下内容
PermitRootLogin yes # 允许 root 用户使用 ssh 登录(不行的话下面的三行也弄)
# PermitRootLogin prohibit-password # 默认打开 禁止root用户使用密码登陆,需要将其注释
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式# 重启 ssh
/etc/init.d/ssh restart
3、退出容器,连接测试
ssh root@127.0.0.1 -p 10022
输入密码成功进入容器内部即配置成功
Linux 操作系统中端口号的范围从0到65535,
其中0到1023为系统端口号,为内部程序的端口号,需要特殊的权限才能够使用,
1024到49151区间的端口号是可以被任何应用使用的通用端口号,
49152到65535区间的端口号为动态分配的、可临时使用的端口号。
cat /proc/sys/net/ipv4/ip_local_port_range
32768-60999