SSH以及ROS远程登录设置保姆级教程

本文用来实现在同一局域网内的两台计算机之间的相互通信,实现一台计算机登录到另一台计算机,本文基于SSH来实现。

1.SSH简介

Secure Shell(SSH)是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文主要介绍OpenSSH免费开源实现在Ubuntu中的应用。

2.设置设备IP

本文通过路由器实现两个设备之前的网络连接,因此通过路由器可以将设备的IP进行固定,除此之外,可以通过网络设置选项将IP进行固定,防止IP发生变动。

在路由器设置中,将设备IP设置固定IP,通过DHCP来实现,此时,设备应该连接到路由器:

通过"+"号来添加设备,并设定固定的IP。

2.安装SSH

​ SSH分为客户端openssh-client和服务器openssh-server,安装命令为:

sudo apt-get install openssh-client
sudo apt-get install openssh-server

如果只是想要登录远程主机, 只安装client即可。

3.启动服务端的SSH服务

首先,在服务器端启动SSH:

service ssh start

在终端执行:

ps -e | grep ssh

如果输出有sshd的进程,则ssh服务启动成功,ssh服务默认开机自启。

ssh常用命令有:

service ssh start	#启动ssh服务
service ssh stop	#停止ssh服务
service ssh restart	#重启ssh服务

4.客户端登录

4.1口令登录

登录口令的格式为:

ssh 服务端用户名@服务器地址

例如:

ssh remote_user@192.168.0.1

如果需要调用图形界面程序,可以使用-X选项:

ssh -X remote_user@192.168.0.1

第一次登录远程主机,系统会给出提示,打上yes就可以了,然后输入密码,成功进入服务端的主机。

通过exitctrl+d退出远程登录。

4.2公钥登录

在客户端,使用ssh-keygen命令生成密钥对:

ssh-keygen -t rsa	#t表示类型选项,这里采用rsa加密算法

一步一步按回车即可。

结束之后,会在/home/user目录下生成.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub

将公钥复制到远程主机中:

ssh-copy-id remote_user@192.168.0.1

ssh-copy-id会将公钥写到远程主机的 ~/ .ssh/authorized_key 文件中。

经过上述操作,以后登录远程主机就不在需要密码了。

5.ROS主从机设置

确保计算机设备都在同一网段下,同时,主从机都需要修改~/.bashrc文件,添加以下内容:

主机中添加:

export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP

从机中添加:

export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=从机IP

修改/etc/hosts文件:

主机中添加:

从机IP 从机的hostname

从机中添加:

主机IP 主机hostname

至此,配置完成。

如果给您带来帮助,希望能给点个关注,以后还会陆续更新有关机器人的内容,点个关注不迷路~欢迎大家一起交流学习。
都看到这了,点个推荐再走吧~
未经允许,禁止转载。

posted @ 2021-08-24 16:01  Love&Robot  阅读(3203)  评论(0编辑  收藏  举报