Linux下SSH调试工具的使用

Linux

一.前言

我们在Linux开发的过程中,一般都是在虚拟机里面安装交叉编译工具链,进行相应程序的编写以及开发,这时我们就需要将编译好的文件放在开发板里,SSH服务就是一个不错的选择
前提开发板支持 SSH 服务并在启动时已自动开启设置好 IP 地址后就可以作为一台 SSH服务器。可以利用SSH登录开发板进行开发调试,也可用scp进行文件传输

二.准备

1.ubuntu 虚拟机中安装了SSH软件,可以输入以下命令进行确认

ssh –V

在这里插入图片描述
如果出现了上图所示的帮助信息代表您的ubuntu虚拟机中已经安装了SSH软件,如果没有安装ssh,请输入如下命令进行安装:

sudo apt-get install openssh-server

2.获取板子的ip
可以先用串口连接到板子,等到板子正常启动输入下面命令来获取板子ip

ifconfig

在这里插入图片描述

三.使用

1.命令操作
在虚拟机 linux系统上执行

ssh root@192.168.0.203 //板子ip

首次登录时根据提示输入 yes 确认连接,并输入密码 root。退出时输入 exit 退出
在这里插入图片描述
这时我们可以通过虚拟机输入命令来开发板了,注意输出exit 退出

2.从虚拟机上传文件到开发板
以拷贝当前目录 ttyS0 到开发板根目录为例:
输入:

scp ./ttyS0 root@192.168.0.203:/

在这里插入图片描述
这里的路径自己可以定,@后面的ip地址为开发板ip

3.从开发板上下载文件到我们虚拟机的操作
输入下面命令:

scp root@192.168.0.203/test.c /home/linux

如果下载的是文件夹

scp -r root@192.168.0.203:/test /home/linux

下载开发板 /test.c 到虚拟机的/home/linux目录下

四.SSH免密登录

如果每次登录都输入密码挺麻烦的,这里给大家分享一个三步解决免密登录

1.客户端生成公私秘钥

输入下面命令,在本地客户端生成公私钥:(一路回车默认即可)

ssh-keygen

在这里插入图片描述
上面会在 /root/.ssh目录下生成两个秘钥,输入下面命令来查看

  1. id_rsa (私钥)
  2. id_rsa.pub (公钥)
cd /root/.ssh
ls -la

在这里插入图片描述

2.上传公钥到服务器

这里测试用的服务器地址为:192.168.0.103,也就是我们的开发板的ip,如何不知道可以输入ifconfig命令来查看开发板的ip

在root用户下输入下面命令(sudo -s命令切换root用户)

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.103 //id_rsa.pub此处填自己生成文件的路径,ip也改成自己的开发板ip

在这里插入图片描述
中途需要我们输入自己密码,就是安装虚拟机时候设置的密码,也是开机密码,我的为root,看到上面的部分就说明上传成功,如何没有上传成功看一下开发板和虚拟机的ip是否在同一网段

上面这条命令是写到服务器上的ssh目录下去了,我们也可以在开发板的该目录下看有没有authorized_keys文件,

cd ~/.ssh
vim authorized_keys

3.免密登录测试

客户端(也就是我们的虚拟机)通过ssh连接远程服务器,就可以免密登录了,我发现在非root用户下还需要输入密码,但是切换为root用户就不需要了

ssh root@192.168.0.103

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值