1. 直接使用

1.1 小车开机

小车开机,连接WIFI,密码:dongguan

1.2 ssh远程登录

打开ubuntu终端
SSH远程登录:ssh -Y wheeltec@192.168.0.100,密码:dongguan

“-Y” ——取得显示图形界面的权限
用户名——“wheeltec”
小车发出的IP地址——“192.168.0.100”

2. SSH简述和安装

2.1.SSH简述与安装(Secure Shell)

  • Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。
    我们这里使用的是SSH在Ubuntu中的免费开源实现,使用它主要是方便远程使用ROS小车的功能。
  • 一般Ubuntu系统默认自动安装有ssh客户端,服务端需要自行安装 sudo apt-get install openssh-server
  • 查看系统是否已经安装ssh客户端或者服务端:dpkg -l | grep ssh
  • 启动ssh服务:sudo /etc/init.d/ssh start
  • 关闭ssh服务:sudo /etc/init.d/ssh stop
  • 重启ssh服务:sudo /etc/init.d/ssh restart

服务端:ROS小车上的树莓派/Nano/TX2/NX/工控机
客户端:其它Ubuntu电脑/虚拟机
两种登录方式:账号密码登录、公钥密钥登录。

2.2.账号密码登录

  • ssh登录: ssh -Y 服务端用户名@服务端ip地址

  • 选择端口号:ssh -p 22 -Y 服务端用户名@服务端ip地址

  • 服务端修改端口号:/etc/ssh/sshd_config,修改Port, 然后Ctr +O Ctr+X
    sudo /etc/init.d/ssh restart
    Ctr+D 退出

  • 对称加密:是采用单钥密码系统的加密方法,使用同一密钥对信息进行加密和解密的加密方法。
    1.客户端向SSH服务器发出请求,服务器将自己的公钥返回给客户端。
    2.客户端用服务器的公钥加密自己的登录密码,再将信息发送给服务器。
    3.服务器接收到客户端传统的密码,用自己的私钥解码。如果结果正确,则同意登录,建立起连接,否则拒绝。

  • 非对称加密:需要两个密钥:公共密钥和私有密钥,它们成对出现,公钥加密的数据有且只有私钥能解密,私钥加密的数据有且只有公钥解密,相对于“对称加密”,“非对称加密”加密方法加密和解密使用不同的密钥,所以叫“非对称加密”加密方法。

2.3.公钥密钥登录(免密登录)

  • 生成公钥密钥对:ssh-keygen -t rsa(客户端)
    输入上述命令后,不断回车。然后可以在主文件夹下的.ssh目录下,生成id_rsa (秘钥)和 id_ras.pub (公钥)
  • 上传公钥到服务端(客户端):ssh-copy-id 服务端用户名@服务端ip地址
  • 查看公钥是否上传成功(服务端
# 首先先远程登录小车的服务端
ssh -Y wheeltec@192.168.0.100
# 查看公钥是否上传成功
cd /home/wheeltec/.ssh
ls
nano authorized_keys # 用nano编辑器查看

  • 查看是否可以免密登录
    输入ssh -Y wheeltec@192.168.0.100
    此时再进行ssh登录时,不需要在输入密码

2.4.别名登录

打开主文件夹/.ssh 文件,然后在该文件夹下右键打开终端
输入touch config 创建一个名为config的文件。
然后打开config文件,输入如下内容,并保存。

Host wheeltec
  HostName 192.168.0.100
  User wheeltec
  Port 22

其中Host wheeltec 中的wheeltec 是别名。
然后输入ssh wheeltec 就可以直接登录成功了。

参考资料:
https://blog.csdn.net/li528405176/article/details/82810342
https://blog.csdn.net/gsnumen/article/details/7293266
https://blog.csdn.net/wdontwant/article/details/102862792
https://ccstudio.org/linux/part1/remote.html#4ssh%E5%91%BD%E4%BB%A4