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去密码登录完成。

相关推荐
YC运维3 小时前
Dockerfile实战案例详解
运维·docker·容器
小灰灰的可爱无人可替代6 小时前
记录一次使用docker和docker-compose更新vue前端项目问题
nginx·docker·vue
蜀中廖化8 小时前
python VSCode中报错 E501:line too long (81 > 79 characters)
开发语言·vscode·python
shimly1234568 小时前
vscode 指定连接其它版本的 linux
ide·vscode·编辑器
___波子 Pro Max.13 小时前
VS Code文件监视排除设置详解
vscode
小杨的全栈之路15 小时前
生产级实践:在 Docker 中安全导入自签名证书,保障 Spring Boot 应用通信安全
docker·https
苏苏码不动了15 小时前
Android Studio 虚拟机启动失败/没反应,排查原因。提供一种排查方式。
android·ide·android studio
Yield & Allure17 小时前
IDEA在plugins里搜不到mybatisx插件的解决方法
java·ide·intellij-idea
孤独斗士17 小时前
解决Intellij IDEA控制台,logger.info(),system.out.println()等中文乱码问题
java·ide·intellij-idea
偷光18 小时前
浏览器中的隐藏IDE: Console (控制台) 面板
开发语言·前端·ide·php