本文用来实现在同一局域网内的两台计算机之间的相互通信,实现一台计算机登录到另一台计算机,本文基于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. php+swoole多线程的操作

    多个任务同时执行 比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送. 不使用多进程时,我们首先判断是否发送邮件,如果需要则发送:然后再判断是否需要发送短信,如果需要则发 ...

  2. Java实验项目三——采用面向对象的方式设计线性表

    Program: 采用面向对象的方法设计一个线性表,目的是为其他需要用线性表的应用提供线性表对象. 1.list包中,定义线性表类 1 /* 2 * Description:定义线性表类 3 * 4 ...

  3. bash的RANDOM变量生成的是真正的随机数吗

    static void seedrand () { struct timeval tv; gettimeofday (&tv, NULL); sbrand (tv.tv_sec ^ tv.tv ...

  4. [NOI2009] 诗人小G [题解]

    诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版. 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对 ...

  5. 「CF505E」 Mr. Kitayuta vs. Bamboos

    「CF505E」 Mr. Kitayuta vs. Bamboos 传送门 如果没有每轮只能进行 \(k\) 次修改的限制或者没有竹子长度必须大于 \(0\) 的限制那么直接贪心就完事了. 但是很遗憾 ...

  6. win10实现倒计时锁屏,休眠

    @ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION SET /a s=10+1FOR /l %%i in (1,1,!s!) do ( SET /a s-=1 ...

  7. 基于IDEA的JAVA开发[第一集]:在Linux上安装IDEA

    1,因为买了荣耀的magicbook pro 锐龙版,系统是Linux,以后打算直接在Linux上开发.本来熟悉Myeclipse,下载了Myeclipse2017 for Linux,但是安装中出现 ...

  8. CSS样式实现表头和列固定

    效果图:第一行和第一列固定       <!DOCTYPE html> <html lang="zh"> <head> <meta cha ...

  9. odoo12里定时任务

    以odoo12为例: 1. 定义定时任务属性 <record id="ir_cron_submit_auto_action" model="ir.cron" ...

  10. 【阅读笔记】Java核心技术卷一 #1.Chapter3

    3 Java的基本程序设计结构 3.1 一个简单的 Java 应用程序(略) 3.2 注释(略) 3.3 数据类型 8种基本类型 byte,short,int,long float,double ch ...