在做嵌入式开发时,很多时候需要远程连接或者远程调试设备,这时可以通过VScode上的插件来很方便的进行远程连接和调试。
ssh远程连接嵌入式开发板:
1、安装vscode ssh远程插件:Remote-SSH。
2、点击"+",输入ssh连接命令。(eg:ssh root@192.168.1.4)
3、选择要更新的ssh配置文件,一般是C:\用户\用户名\.ssh\config,根据实际情况选择。添加好主机后点击连接。
4、如果没有出现上面连接的选项,按组合键"Ctrl"+"Shift"+"p",输入Remote-SSH,选择连接到主机。然后选择系统类型,嵌入式设备的系统一般都是Linux。
5、输入密码(远程主机用户的密码)。
6、登入成功后,可以选择一个文件夹,这样每次登入都会默认进入这个目录下。
ssh免密登入设置:
1、在本地(Windows、Ubuntu或者Macos)生成一对ssh公私密钥。以Windows为例,打开 cmd 输入 ssh-keygen 命令,然后一直按回车就可以了,应该和下面输出差不多。
C:\Users\86199>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\86199/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\86199/.ssh/id_rsa.
Your public key has been saved in C:\Users\86199/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:k/fZW0MI2odocmufHxptziPKxrNu4guuq0fTX/miWEs 鏉庡皬鐧紷DESKTOP-5ONQ0N7
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| . |
| .+ o . |
| . .S=oo o . |
| o . +=..oo. |
| . ...Eoo..o+...|
| .. =o+*.oB..o.|
| .oooo.=B==+o+o |
+----[SHA256]-----+
2、会在 C:\User\XXX\ 目录下生成一个.ssh的文件夹(XXX代表你在Windows上面的名字),里面有 id_rsa(私钥) 和 id_rsa.pub(公钥) 两个文件。
其中的 config 就是之前 VSCode 中的配置文件,里面保存着服务端的IP、名字和用户。
3、在远程服务端的用户目录下(就是ssh登入的默认目录),创建一个 .ssh 目录,然后进入 .ssh 目录下创建一个 authorized_keys 文件。 将之前生成的公钥 id_rsa.pub 文件里的内容全部复制到 authorized_keys 文件中就可以了。
scp开发板上传和下载文件:
上传和下载文件使用的命令都是 scp,无论是 Windows 还是 Linux 只要安装了 ssh 都能使用。
上传:scp /path/file user@IP:/path/
下载:scp user@IP:/path/file /path
scp /home/root/workspace/samples/bin/key_test biqu@192.168.0.102:/home/biqu/workspace/
The authenticity of host '192.168.0.102 (192.168.0.102)' can't be established.
ED25519 key fingerprint is SHA256:8qDFfC1AfmGhGmH09Vrc1m8S/zwktfRujVx4F9mpKgw.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:6: [hashed name]
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.102' (ED25519) to the list of known hosts.
biqu@192.168.0.102's password:
key_test 100% 464KB 2.8MB/s 00:00
按格式输入命令后,输入用户密码,就将 key_test 文件从本地上传到远程 biqu 用户的 workspace 目录下了。如果需要上传整个目录就需要加上 -r 参数。
scp biqu@192.168.0.102:/home//biqu/workspace/key_test /home/root/workspace
/samples/bin
biqu@192.168.0.102's password:
key_test 100% 464KB 1.7MB/s 00:00
按格式输入命令后,输入用户密码,就将远程 biqu 用户的 key_test 文件下载到本地 bin 目录下了。如果需要下载整个目录就需要加上 -r 参数。
以上就是VScode远程连接嵌入式开发,之后有机会再把使用gdb调试补上,如果有什么疑问或建议,欢迎在评论区中提出嗷~。