本文用来实现在同一局域网内的两台计算机之间的相互通信,实现一台计算机登录到另一台计算机,本文基于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. java基础---常用类

    一.字符串类String String:字符串,使用一对""引起来表示,字符串常量池在方法区中 public final class String implements java. ...

  2. JMeter之BeanShell常用内置对象

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

  3. 「SDOI2016」数字配对

    「SDOI2016」数字配对 题目大意 传送门 题解 \(a_i\) 是 \(a_j\) 的倍数,且 \(\frac{a_i}{a_j}\) 是一个质数,则将 \(a_i,a_j\) 质因数分解后,其 ...

  4. 学习Git的基本业务逻辑

    1,基本业务逻辑(假设针对index.html文件中内容): 1,在init版本库之前已写好开头部分:index 对index进行git init版本库: 进入到文件夹中,git init git a ...

  5. bash shell 遍历一个数组

    var[@]  数组的一个元素 var=("first" "second" "three") for str in ${var[@]}; d ...

  6. python + csv 操作(读写)

    import csv"""与excel文件不同,csv文件中:1.数据都没有数据类型,值都是'字符串'2.没有颜色和样式,不能指定单元格测的宽高,不能合并单元格3.没有对 ...

  7. Beam Search快速理解及代码解析(上)

    Beam Search 简单介绍一下在文本生成任务中常用的解码策略Beam Search(集束搜索). 生成式任务相比普通的分类.tagging等NLP任务会复杂不少.在生成的时候,模型的输出是一个时 ...

  8. Java集合框架全解

    Collection 集合 集合接口有2个基本方法: public interface Collection<E> { //向集合中添加元素.如果添加元素确实改变了集合就返回 true, ...

  9. Selenium环境搭建 - Mac电脑

    一. JDK安装 1.1.官网下载1.8版本 可参考以下链接步骤: 'https://blog.csdn.net/u014801367/article/details/86288078' 1.2.jd ...

  10. JMX远程连接JVM

    -Dcom.sun.management.jmxremote :允许使用JMX远程管理 -Dcom.sun.management.jmxremote.port=9999 :JMX远程连接端口 -Dco ...