ssh配置config文件,实现vscode免密登陆

本文介绍了如何通过生成SSH密钥和配置config文件实现VSCode连接服务器时的免密登录。步骤包括:生成SSH密钥,设置.ssh目录权限,编辑config文件以添加主机信息,并通过ssh-copy-id命令将密钥复制到目标服务器,从而实现无密码登陆。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用ssh连接服务器时,每一次用vscode连接服务器进行开发,都需要输入密码,相当鸡肋,对config的配置能够实现解决这个问题。

step1:生成ssh密钥:(如果已经有了就不需要了)

# 使用以下命令 一路回车即可
ssh-keygen -t rsa

# 为.ssh目录设置权限
chmod 600 ~/.ssh/config

在这里插入图片描述

step2: config文件配置十分简单,只需要按照以下格式配置即可。

Host 192.168.xxx.64
  HostName 192.168.xxx.64
  User admin
#Host 为了便于区分同一主机的不同Port,可以修改为不同的名字。
#比如下边的*.physical是物理机IP,*.container是运行在该物理机上的一个container,用的是物理机的端口2222
Host 231.180.container
  HostName 192.168.xxx.180
  Port 2222
  User root

Host 231.180.physical
  HostName 192.168.xxx.180
  User yourusername

step3:实现免密登陆

# 将密钥copy到work1,需要输入work1的登陆密码(此登陆密码为config重配置的user密码)
ssh-copy-id 231.180.physical
# 成功后会有如下提示
Now try logging into the machine, with:   "231.180.physical'"
and check to make sure that only the key(s) you wanted were added.

#现在使用如下即可登陆231.180.physical(其他主机方法一样)
### 配置 VSCode 使用堡垒机免密登录远程服务器 为了实现这一目标,需先确保本地机器与堡垒机之间能够正常通信,并完成必要的 SSH 密钥认证设置。对于从本地计算机经由堡垒机再到最终的目标服务器的无密码访问路径建立过程如下: #### 设置 SSH 客户端配置文件 编辑 `~/.ssh/config` 文件,在其中加入针对特定主机名(可以自定义名称来代表经过跳板到达的目的地址)的相关条目[^3]。 ```bash Host targetServerAlias HostName final.server.ip.or.domain.name User your_username_on_final_server Port 22 ProxyJump bastion_user@bastion_host_ip_or_domain_name IdentityFile ~/.ssh/id_rsa_for_bastion_and_target ``` 上述命令中的 `ProxyJump` 参数指定了要通过哪个中间节点(即堡垒机),以及用于身份验证的身份文件位置;这里假设同一对密钥适用于两个阶段的连接尝试。如果不同,则应分别指定对应的私钥路径给每一步骤。 #### 创建或确认已有的 SSH 秘钥对 假如还没有创建过 SSH 密钥对的话,可以通过执行下面这条指令生成一对新的 RSA 类型秘钥[^4]: ```bash ssh-keygen -t rsa -b 4096 -C "[email protected]" ``` 这会提示输入保存位置,默认情况下可以直接按回车键接受建议的位置(`~/.ssh/id_rsa`)。之后还会询问是否设定 passphrase (保护短语),可以根据安全需求决定要不要设。 #### 将公钥复制到堡垒机及目的服务器 利用 `ssh-copy-id` 工具把刚刚产生的 `.pub` 公开部分上传至两处地方——首先是堡垒机,接着再传送到真正的工作环境里去: ```bash ssh-copy-id -i ~/.ssh/id_rsa_for_bastion_and_target.pub bastion_user@bastion_host_ip_or_domain_name ssh-copy-id -i ~/.ssh/id_rsa_for_bastion_and_target.pub [email protected] ``` 注意替换上面命令里的用户名和 IP 地址为实际情况下的值。 #### 测试连通性 现在应该可以从本机无缝隙地穿透堡垒机直达目的地了。打开终端测试一下能否顺利登陆: ```bash ssh targetServerAlias ``` 成功后就可以准备让 Visual Studio Code 接管这个流程啦! #### 在 VSCode 中启用 Remote-SSH 扩展并连接 启动 VSCode 应用程序,前往扩展市场找到名为 “Remote - SSH”的插件安装它。完成后按下快捷键 Ctrl+Shift+P 或 Cmd+Shift+P (取决于操作系统平台),调出命令面板,搜索并选择 `"Remote-SSH: Connect to Host..."` ,然后按照屏幕上的指示操作即可开启一个新的窗口专门处理远端资源管理任务[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值