ubuntu系统使用SSH远程连接ROS小车并使用远程的Rviz |
您所在的位置:网站首页 › 远程控制怎么回事 › ubuntu系统使用SSH远程连接ROS小车并使用远程的Rviz |
一.SSH简介
SSH是一种网络协议,用于计算机之间的加密通讯,即我们可以在一台计算机上通过SSH协议登陆另一台计算机,并对其进行操作。作者在这里使用的是SSH在Ubuntu中的免费开源实现,通过SSH协议访问ROS小车,并实现远程的Rviz。 说明:在帖子中只有SSH的账号密码登陆。 (以下是比较官方的说法)Secure Shell(缩写为 SSH),由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为一项创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境。最初的 SSH 协议是由芬兰的一家公司的研究员 Tatu Ylönen 于 1995 年设计开发的,但是因为受版权和加密算法等等的限制,现在很多人都转而使用 OpenSSH。OpenSSH 是 SSH的替代软件包,而且是开放源代码和免费的。 二.准备工作 1)服务端与客户端在通过SSH访问ROS小车系统前,我们需要搞清楚服务端与客户端的概念。 服务端:ROS小车 客户端:我们的ubuntu电脑 (以下为一些定义,赶时间请跳过) 服务端指提供服务的一端。它会等待客户端的访问,并为其提供服务。服务端一般是 sshd 进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。 客户端指面向用户的一端。它会向服务端发出连接请求,服务端响应请求,两者建立连接。 2)ip地址在进行SSH连接前,我们需要知道服务端与客户端的ip地址。通过以下命令进行查看。 ifconfig例如,我的ROS小车(服务端)ip地址为192.168.43.198,ubuntu电脑(客户端)ip地址为192.168.43.114。 需要在ROS小车安装服务端 sudo apt-get install openssh-server 2)客户端安装一般Ubuntu系统默认自动安装有SSH客户端,因此大家根据需求在自己的ubuntu安装客户端。 sudo apt-get install openssh-client 3)检查是否安装完成 dpkg -l | grep ssh
例如:我的小车id为nano,ip地址为192.168.43.198,那么我的命令为: ssh [email protected]
SSH默认端口号为22,如果需要更改,请按照以下操作: (1)服务端更改端口号 gedit /etc/ssh/sshd_config 修改15行 #Port 22 值为端口号,然后重启SSH sudo /etc/init.d/ssh restart(2)客户端运行指令 ssh -p 端口号 服务端id@服务端ip地址 问题:连接报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:6zKiuPSPE90dB6PNCj1fICgA1DTrTxPFiVbl82+sS0E. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:4 RSA host key for has changed and you have requested strict checking. Host key verification failed.解决办法:运行指令打开know_hosts文件,并清空know_hosts中的数据 sudo gedit /home/.ssh/knows_hosts报错原因: 服务器的公钥(public key)发生了变化(比如重装了系统或重装了openssh服务),而客户端存储的信息没有发生变化。 五.SSH运行导航并远程使用Rviz注意:首先要确保自己的ubuntu电脑有ROS,并可以正常启动 (1)修改服务端.bashrc文件(ROS小车) gedit ~/.bashrc在后面加上 export ROS_HOSTNAME=服务端ip export ROS_MASTER_URI=http://服务端ip:11311(2)修改客户端.bashrc文件(自己的ubuntu电脑) gedit ~/.bashrc在后面加上 export ROS_HOSTNAME=客户端ip export ROS_MASTER_URI=http://服务端ip:11311例如我的电脑是这样 : (3)运行导航 注意:导航中不能自动开启rviz节点 客户端(自己的ubuntu电脑)通过SSH远程连接服务端(ROS小车),并启动导航相关的节点。 (4)开启Rviz 客户端(自己的ubuntu电脑)直接开启Rviz,注意不是在连接SSH后开启Rviz,导入导航的rviz文件,选择各部分订阅话题即可。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |