本文用来实现在同一局域网内的两台计算机之间的相互通信,实现一台计算机登录到另一台计算机,本文基于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_HOSTNAME=主机的hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP

从机中添加:

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

修改/etc/hosts文件:

主机中添加:

从机IP 从机的hostname

从机中添加:

主机IP 主机hostname

至此,配置完成。

如果给您带来帮助,希望能给点个关注,以后还会陆续更新有关机器人的内容,点个关注不迷路~欢迎大家一起交流学习。

都看到这了,点个推荐再走吧~

未经允许,禁止转载。

SSH以及ROS远程登录设置保姆级教程的更多相关文章

  1. 华为S5700交换机初始化和配置SSH和TELNET远程登录方法

    基础设置: 配置登陆IP地址<Quidway> system-view                                                            ...

  2. Linux SSH实现无密码远程登录

      一.      SSH无密码远程登录原理 二.      SSH实现无密码远程登录 实现主机A 无密码远程登录主机B 主机A   IP地址:10.8.9.154 主机B   IP地址:10.8.9 ...

  3. Windows2008R2允许多用户远程登录设置

    Windows 2008 R2终端服务器安装配置 后面的一律下一步就可以安装完成了,下面是如何设置多用户远程登陆. Windows2008允许多用户远程登录设置 服务器重启,以上配置全部生效.

  4. 网络实验 02-交换机的Telnet远程登录设置

    交换机的Telnet远程登录设置 一.实验目标 掌握采用telnet方式配置交换机的方法 二.技术原理 1. 配置交换机的管理IP地址(计算机的IP地址与交换机管理IP地址在同一网段) 2. 为tel ...

  5. 自建本地服务器,自建Web服务器——保姆级教程!

    搭建本地服务器,Web服务器--保姆级教程! 本文首发于https://blog.chens.life/How-to-build-your-own-server.html. 先上图!大致思路就是如此. ...

  6. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  7. 强大博客搭建全过程(1)-hexo博客搭建保姆级教程

    1. 前言 本人本来使用国内的开源项目solo搭建了博客,但感觉1核CPU2G内存的服务器,还是稍微有点重,包括服务器内还搭建了数据库.如果自己开发然后搭建,耗费时间又比较多,于是乎开始寻找轻量型的博 ...

  8. RocketMQ保姆级教程

    大家好,我是三友~~ 上周花了一点时间从头到尾.从无到有地搭建了一套RocketMQ的环境,觉得还挺easy的,所以就写篇文章分享给大家. 整篇文章可以大致分为三个部分,第一部分属于一些核心概念和工作 ...

  9. Eclipse for C/C++ 开发环境部署保姆级教程

    Eclipse for C/C++ 开发环境部署保姆级教程 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大 ...

随机推荐

  1. Android常用开源库(转)

    一 .基本控件 TextView HTextView 一款支持TextView文字动画效果的Android组件库. ScrollNumber 滚动数字控件 ticker 滚动数字控件 ReadMore ...

  2. CTF文件包含

    <?php include "flag.php"; $a = @$_REQUEST['hello']; eval( "var_dump($a);"); s ...

  3. 实验 1 Linux 系统的安装和常用命令

    实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...

  4. vscode搭建python环境

    这两天刚下了一个pycharm,结果使用之后将vscode给崩了,重装的时候有些步骤也记不清,走了一些弯路,做个总结来记录一下(本人觉得vscode比pycharm好用一点). Python下载安装 ...

  5. Modelsim波形显示字符

    偶然在 QQ 群里看到一个大佬发的 Modelsim 波形显示字符,闲着没事拿来玩玩,并将改良过程也整理一下. 一.字符点阵产生 软件采用 PCtoLCD2002,打开后不需要设置,直接打字然后点击[ ...

  6. [004] .NET 的现状和未来

    我们总是能听到一些人说,.NET 不行.学 .NET 没发展前途之类的言论,有的童鞋听多了便也开始怀疑自己选择的 .NET 方向是不是错了. 不得不承认,在 .NET 没有实现跨平台之前,市场行情确实 ...

  7. poj1182:食物链

    poj1182:食物链 听说是poj中最经典的一道并查集题目.我一做,果然很经典呢!好难啊!!!真的琢磨了很久还弄懂.这道题的重点就在于怎么用并查集表示题目中的关系环. 1. 题干 原题传送门1 原题 ...

  8. Lesson 11 Not guilty

    Lesson 11 Not guilty guilty ['gɪlti] adj. 有罪的:内疚的 be guilty of - He is guilty of murder. be innocent ...

  9. 完整的URL是怎样的?

    完整的URL字段解读: URL:http://localhost:80/MzyPractice/chapter10/testb.php?name=Mei&radio=Test#dowel ht ...

  10. 第八篇 -- 对数据库mysql进行连接并压测

    参考链接:https://blog.csdn.net/laofashi2015/article/details/81296929 工具:mysql-8.0.12-winx64,apache-jmete ...