【嵌入式Linux环境搭建-08】SSH远程登陆

6.SSH远程登陆

先要板子有系统以后再做

SSH 公钥 私钥的理解 - 知乎 (zhihu.com)

应用

  • 传文件
  • 有网了登陆板子操作文件

安装

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

image-20220908124244311

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

image-20220908124344915

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值