简介
嵌入式开发中常用Linux系统和交织编译工具链进行开发。常见的做法是使用Linux(假造机或服务器)进行交织编译,使用Windows毗连嵌入式主机进行调试。为了完成交织编译,Windows可以使用VSCode的Remote - SSH插件进行远程毗连,既可方便地使用Linux的终端,也可方便地在VSCode中编辑代码。
以下是在Ubuntu桌面版假造机中安装SSH服务器,并在Windows通过VSCode SSH远程登录的步调。
1. 在假造机安装SSH
下载SSH
- 在Ubuntu中打开终端。
- 运行以下下令1下载安装SSH。
- sudo apt update
- sudo apt install openssh-server
复制代码
- 期待安装完成后,运行以下下令查看SSH服务的状态。
- sudo systemctl status ssh
复制代码
- 输出active (running)表明成功安装且主动运行了。
- ● ssh.service - OpenBSD Secure Shell server
- Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
- Active: active (running) since Thu 2024-04-04 02:21:09 CST; 12h ago
- Docs: man:sshd(8)
- man:sshd_config(5)
- Main PID: 36845 (sshd)
- Tasks: 1 (limit: 4595)
- Memory: 5.5M
- CPU: 114ms
- CGroup: /system.slice/ssh.service
- └─36845 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
复制代码
- sudo systemctl enable ssh
复制代码 设置防火墙
- 留意,Ubuntu系统可能默认启动了防火墙,必要在防火墙中打开SSH服务的端口,或者关闭防火墙。
- Available applications:
- OpenSSH
- Samba
复制代码
- 现在Ubuntu的SSH服务准备就绪。
2. 远程登录Ubuntu
使用Windows系统下令行登录
- 运行以下下令获取Ubuntu假造机的IP地址,以本地局域网为例。
- 从输出可见本地网络IP地址为192.168.28.128。
- ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.28.128 netmask 255.255.255.0 broadcast 192.168.28.255
- inet6 fe80::a3b1:93cc:e689:e515 prefixlen 64 scopeid 0x20<link>
- ether 00:08:29:eb:0d:c6 txqueuelen 1000 (Ethernet)
- RX packets 1212406 bytes 1755611771 (1.7 GB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 246724 bytes 29298116 (29.2 MB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
复制代码
- 打开Windows终端,通过ssh username@ip_address下令发起远程毗连。
- username是Ubuntu系统的用户名
- ip_address是上一步获取的IP地址。
- 此处以我的用户为例,运行以下下令。
- fenst@192.168.28.128's password:
- *** System restart required ***
- Last login: Thu Apr 4 16:31:39 2024 from 192.168.28.1
- fenst@fenst-virtual-machine:~$
复制代码
3. 使用SSH公钥免输密码登录
在假造机创建公钥文件夹
- 在上一步毗连到假造机的终端中,运行以下下令天生存放公钥的文件夹。
天生公钥
- 过程中按回车使用默认值即可,不必要填写密码。天生的公钥文件在系统的用户目次下(C:\Users\93636/.ssh/id_rsa)。
- Generating public/private rsa key pair.
- Enter file in which to save the key (C:\Users\93636/.ssh/id_rsa):
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
- Your identification has been saved in C:\Users\93636/.ssh/id_rsa.
- Your public key has been saved in C:\Users\93636/.ssh/id_rsa.pub.
复制代码
- scp C:\Users\93636\.ssh\id_rsa.pub fenst@192.168.28.128:~/.ssh/authorized_keys
复制代码
- fenst@192.168.28.128's password:
- id_rsa.pub 100% 576 498.7KB/s 00:00
复制代码
- 通过ssh username@ip_address下令可验证,是否不必要输入密码即可登录。
4. 设置VSCode
安装Remote - SSH插件
- 打开VSCode,搜索并安装插件。
- 在远程组件中选择SSH。
设置VSCode远程情况
- 点击小齿轮进行远程设置。
- 选择设置文件的路径。
- 将文件内容改为你自己的远程情况参数。
- Host是远程毗连的名字
- HostName是假造机的IP地址
- User是Ubuntu系统用户名
- IdentityFile是刚才天生的公钥文件。
- Host fenst
- HostName 192.168.28.128
- User fenst
- IdentityFile "C:/Users/93636/.ssh/id_rsa"
复制代码
- 完成设置后,点击小箭头进行远程毗连。
- 至此完成SSH远程设置,VSCode可以像在Ubuntu中一样在Windows中使用。在VSCode中,你可以直接打开Ubuntu中的文件夹进行编辑,也可以打开终端实行Ubuntu的下令。
- 缺点:每次毗连时,VSCode都会同步Ubuntu和Windows的SSH插件版本,所以偶然毗连时间会稍微长一点。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |