vscode使用ssh配置docker容器环境

1 创建容器,并映射主机和容器的指定ssh服务端口

2 进入容器

docker exec -it <容器ID> /bin/bash

3在容器中安装ssh服务

apt-get update

apt-get install openssh-server

接着修改ssh文件信息,将容器的10008端口暴露出来允许root用户使用ssh登录

复制代码
vim /etc/ssh/sshd_config
# 在刚刚打开的文件里添加以下内容,保存后退出:
Port 10008
PermitRootLogin yes #允许root用户使用ssh登录
/etc/init.d/ssh restart

设置root账号的密码容器执行

passwd

4 设置开机自动启动ssh服务

复制代码
# 找到并打开文件/root/.bashrc
$ vim /root/.bashrc
# 在.bashrc末尾添加如下代码
$ service ssh start

5 下载remote-ssh拓展,配置vscode,shfit+ctrl+p输入open ssh,选择远程ssh配置文件,选择一个默认的地方在用户下的.ssh/目录下生成一个config文件,也可以放在其他地方,在文件中添加

复制代码
Host <name>
  HostName <服务器IP>(容器宿主机和容器做了映射直接访问容器宿主机的端口自动访问容器)
  Port 10008
  User root
  ForwardAgent yes

vscode中点击左下角选择连接到主机(远程)选择connect host remote ssh输入密码

6 vscode 不输入密码无密登录配置,首先确定本地用户下是否生成过密钥对,只要生成过服务端和客户端直接就能用,两边各自持有一个直接连接无需密码,如果本地没生成过就开始生成,有了跳过

生成密钥对

复制代码
ssh-keygen -t rsa -C "your_email@example.com"
  • -t rsa:指定生成 RSA 类型的密钥对。
  • -C "your_email@example.com":为密钥添加注释,通常是你的邮箱地址,方便识别。

系统会提示你选择存储私钥的位置。默认存储在 ~/.ssh/id_rsa,直接按 Enter 使用默认路径

设置密码(可选)

系统会询问你是否为私钥设置密码短语,可以选择设置以增加安全性。如果不需要,直接按 Enter 跳过:

现在你有了一个私钥文件 id_rsa 和一个公钥文件 id_rsa.pub

在vscode中shfit+ctrl+p打开远程host配置文件

复制代码
Host myserver
    HostName xxxx.com(ip地址)
    User root
    Port 12803
    IdentityFile ~/.ssh/id_rsa   私钥本机地址

服务器端在root目录下创建.ssh文件夹,并将公钥粘贴到 ~/.ssh/authorized_keys 文件中,

此时vscode去密码登录完成。

相关推荐
ldj20201 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
ldj20201 小时前
docker 自定义网桥作用
docker·容器
FinAnalyzer1 小时前
如何在 InsCodeAI 上搭建并使用 Jupyter Notebook 环境?
ide·python·jupyter
SoveTingღ2 小时前
【开发环境配置】VScode里面配置cmake遇到的问题
c语言·vscode·cmake·嵌入式软件·开发环境配置
vsropy2 小时前
VScode输出中文乱码问题解决
ide·vscode·编辑器
土豆丶杨3 小时前
centos 配置docker
docker·eureka·centos
杰哥的狗3 小时前
nacos连接失败,启动失败常见问题
linux·docker
DarkAthena4 小时前
【GaussDB】构建一个GaussDB的Docker镜像
数据库·docker·gaussdb
写点什么啦4 小时前
一键修复ipynb,Jupyter Notebook损坏文件
ide·python·jupyter
DIY全栈开发4 小时前
ESP32S3 Ubuntu vscode如何使用USB-JTAG调试
linux·vscode·ubuntu