6.SSH远程登陆
先要板子有系统以后再做
应用
- 传文件
- 有网了登陆板子操作文件
安装
sudo apt-get install openssh-server //安装 SSH 服务端
//这个安装完其实就可以用了,只是每次连接输密码就行
sudo systemctl status ssh //查看状态
免密登录
自己拿着一把私钥,公钥可以给其他很多人
应该可以把自己电脑的私钥公钥全部统一,有待验证
$ ssh yhbd@192.168.10.237 //远程登录板子(注意用户名,和ip地址,要和板子的一致)
//选yes,输入密码后登录
//如果之前做过免密登录,登录新板子时,
//需把.ssh目录的文件都备份后,删除掉
//注意:密钥登录,比较卡最好改为免密登录
$ mkdir .ssh //板子上运行创建 .ssh目录, 否则后面免密登录传输公钥文件时会报错
//免密登录
//虚拟机下生成公钥,再传到板子上,以后再登陆板子就直接知道了
新开一终端:
$ ssh-keygen -t rsa //生成Key私钥和公钥
$ ls ~/.ssh //发现有生成文件 私钥id_rsa 和 公钥id_rsa.pub
$ cd ~/.ssh
板子上也要创建一个.ssh文件
$ scp id_rsa.pub bbcen@192.168.52.91:/home/bbcen/.ssh/authorized_keys //上传公钥到板子
//注意用户名 和ip要改为你的
//以后ssh登录都不用再输密码了。 关键是,不卡了(因密钥登录检测比较多,会比较卡)
windows下也有.ssh文件,直接从虚拟机拖出来(家目录显示隐藏文件)
报错
Permissions for 'C:\\Users\\bbcen/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\bbcen/.ssh/id_rsa": bad permissions

将id_rsa中组或用户名多的删掉就行了

vscode设置remote-ssh并免密登录
vscode设置remote-ssh并免密登录__cuihua的博客-CSDN博客_remote ssh vscode
远程编辑
点田字形状(左侧边栏里) -> 搜Remote Development 安装
搜Remote SSH安装
点电脑形状(左侧边栏里) -> 远程资源管理器里 选SSH Targets
-> 点设置(齿轮形) -> 选ss配置文件(如/home/yhai/.ssh/config)
-> 更改hostname为要登录电脑的ip (如192.168.10.237)
-> 把user 改为要远程登录的用户名(如jetbot)
点田字形状 -> 点Remote SSH 下脚的小齿轮 -> 扩展设置 -> 在settings.json中编辑
-> 在里面添加一行 "remote.SSH.useLocalServer": true,
//解决链接报错 “remote.SSH.useLocalServer”: false
点电脑形状(左侧边栏里) -> 选SSH Targets
-> 点alias电脑图标 ->右键选 connect to host in new window
-> 成功看到 已连接远程 -> 点打开文件 ,选则远程服务器上 代码 映射到本地来编辑
//会自动提示装插件,如当你看到dts文件时提示按照Device Tree的 插件 如
下面终端可运行程序 //如果看不到终端,可能隐藏了,用鼠标在下边框往上拉一下
//或点上面的终端,新建终端
jetbot@nano-4gb-jp45:~$
远程代码提示
选SSH Targets -> 点alias电脑图标 //确保安装插件位置是再运程板子上 (不是本地)
//要在“SSH: alias”上启用 扩展
点田字形状 -> 搜Python -> 点“在SSH: alias中安装”
搜Python for VSCode 安装
搜Python Extension Pack 安装
搜kite 安装 //AI 智能提示
//验证代码提示功能
打开 a.py -> 输入下面代码
import time
time.sl //能提示 sleep
import cv2
cv2.imr //能提示 cv2.imread
//第三方源码库提示(如jetbot)
文件 -> 首选项 -> 设置 -> 点用户 -> 搜python ->点击"在settings.json中编辑"
在里面添加第三方源码的路径 //如/home/jetbot/jetbot
"python.autoComplete.addBrackets": true,
"python.autoComplete.extraPaths": ["/home/jetbot/jetbot"],
重启 VSCODE,再尝试
from jetbot import Robot
robot = Robot()
robot.le //就能自动补全left了
使用scp传文件
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
两点注意:如果local_path是文件夹,则带一个-r参数,再一个是注意中间的冒号。
//本地到远程
scp [-r] local_path l1:~
//远程到本地
scp [-r] l1:remote_path local_path
两点注意:如果`local_path`是文件夹,则带一个`-r`参数,再一个是注意中间的冒号。
```javascript
//本地到远程
scp [-r] local_path l1:~
//远程到本地
scp [-r] l1:remote_path local_path


950

被折叠的 条评论
为什么被折叠?



