VsCode连接远程Linux编译环境的便捷处理

1.免输登录密码

免输命令的正确方法是使用公钥和私鈅在研发设备,和linux服务器上校验身份。公钥和私钥可在windows系统上生成。公钥要发送到linux服务器。私钥需要通知给本地的ssh客户端程序,相关的操作如下:

  1. 生成 SSH Key:

    • 打开终端或命令提示符窗口。
    • 输入以下命令:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    • 按照提示选择密钥存储位置和密码(或直接回车跳过密码)。
    • 生成完成后,会在指定位置生成两个文件:id_rsa (私钥)和 id_rsa.pub(公钥)。
  2. 将公钥添加到远程linux服务器:

    • 登录到远程服务器。
    • 找到或创建 .ssh 文件夹(一般位于用户主目录下,cd ~)。
    • 打开 authorized_keys 文件,将公钥文件 id_rsa.pub 的内容添加到文件末尾。
      • 如果对应文件不存在,直接重命名即可。
    • 保存文件并退出。
  3. 配置windows平台 SSH 客户端秘钥模式登陆:

    • 打开终端或命令提示符窗口。
    • 输入以下命令:ssh-add .ssh/id_rsa ,将私钥添加到 SSH agent 中。
      • 注意,对于windows平台,默认的.ssh配置和文件,都在当前用户的.ssh目录下,这是一个隐藏目录。
    • 在 SSH 客户端中此时已经可以使用私钥进行身份认证。全程无需密码。
  4. 连接远程服务器无密码测试:

    • 打开终端或命令提示符窗口。
    • 输入以下命令:ssh username@remote_host,其中 username 是远程服务器上的用户名,remote_host 是远程服务器的地址或 IP。

注意,第三步,你可能遇到SSH agent未启动的问题, 这个按网上的搜索处理即可。你需要:1.确认windows平台的OpenSSH,SSH Agent都已经安装并运行。这类操作需要用到管理员模式的powershell.

SSH agent不仅仅是VSCode在用。信任链路一但建立,各种远程连接服务:ssh命令行工具、scp都可以从中受益。比如:

2.命令行文件拷贝 - 使用scp

注意,可能是因为版权问题,windows平台的scp服务器很难部署,但是反向操作很容易,那么,我们始终可以在 windows一侧,用客户端的模式去上传下载linux上的文件。

scp root@192.168.76.3:/home/fengxh/pjtxxxx/src/shake_src.log .

shake_src.log 100% 222KB 10.3MB/s 00:00

上述scp 命令输入时,甚至会有linux下的文件名自动补全功能,即使这个文件身处remote server far far away。无需输密码,方便的文件传递,那么源码呢?相关的git版本管理系统可以跨平台使用吗?是的,可以:

3.无GitStack之类的GitServer,基于scp模式的跨平台TortoiseGit连接

tortoiseGit是支持ssh,scp模式的git库读写的。

配置时:

远程连接部分,按照ssh协议,然后root用户访问:ssh://root@192.168.76.3:/home/fengxh/pjtxxxx

之后,输入密码后,右键操作和windows本地的git工作区访问没有什么两样:

并且,这种连接模式还是支持linux本身的账户权限分配的。可能比git自带的git服务器还好用。

相关推荐
REDcker13 分钟前
RTSP 直播技术详解
linux·服务器·网络·音视频·实时音视频·直播·rtsp
丁劲犇18 分钟前
CentOS 7.6 TCP连接奇慢故障排查:中文注释引发的sysctl配置异常
linux·tcp/ip·centos·速度慢
代码游侠24 分钟前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
微尘hjx33 分钟前
【Gstreamer 应用程序开发手册 01】关于GSTREAMER
linux·音视频·媒体
zzh_my44 分钟前
Visual Studio 2022介绍
ide·visual studio
LaoWaiHang1 小时前
Linux基础知识13:用户、用户组管理
linux
Coder个人博客2 小时前
Linux6.19-ARM64 mm init子模块深入分析
linux·安全·车载系统·系统架构·系统安全·鸿蒙系统·安全架构
济6172 小时前
ARM Linux 驱动开发篇----Linux驱动开发与裸机开发的区别---- Ubuntu20.04
linux·arm开发·驱动开发
慎思知行2 小时前
Discord中创建机器人的流程
linux·服务器·机器人
enbug2 小时前
编译安卓内核:以坚果R1、魔趣MK100(Android 10)系统为例
android·linux