远程主机实现密钥登录(MobaXterm)
在机器人开发过程中,通过 SSH 登录控制柜可以更直观地掌握控制柜当前状态,更便捷地进行问题诊断、日志拷贝、配置修改等操作。MobaXterm
是目前市面主流的远程访问工具,可以免费下载个人版试用;下面将具体说明如何使用 MobaXTerm
通过 SSH 登录控制柜。
1 控制柜启用SSH连接
下面以 ARCS v0.29
为例进行说明。
从示教器主页进入
设置
功能选择
安全-安全外壳
,勾选启用SSH访问
,并配置端口和验证方法。下图示例中配置
端口
为8822
,同时勾选基于密码
和基于密钥
两种验证方法
2 通过 SSH 登录控制柜
基于密码认证和基于密钥认证是SSH服务器端对客户端的两种认证方式:
基于密码(password)认证
优点:使用门槛较低,无需前期配置
缺点:有密码被暴力破解的风险,因此通常禁用
root
账户登录
基于密钥(publickey)认证
优点:安全性高,适用于
root
账户远程登录缺点:使用门槛较高,需要了解密钥对的原理和使用方式
下面以MobaXterm Home Edition v24.2
为例分别说明密码验证登录和密钥验证登录的方法。
2.1 密码验证登录
打开
MobaXTerm
,在界面上方工具栏选择Session
创建新的远程会话在弹窗中选择
SSH
会话Remote host
输入远程主机IP,Port
输入 第1步: 控制柜启用SSH连接 中配置的端口号,之后点击OK
会话创建成功,输入要登录的用户名;一般使用
root
用户登录输入密码;
root
的密码默认为root
或者bestcobot
登录成功
2.2 密钥验证登录
2.2.1 生成密钥对
密钥对包括两个文件:私钥文件(Private Key), 公钥文件(Public Key)
私钥文件
相当于门钥匙,作为登录远程主机的关键。
(私钥文件不能外泄,否则远程主机有严重的安全风险)
公钥文件
相当于门锁,只要有钥匙就可以打开。公钥文件可以发布到任何地方,不需要保密。
使用 MobaXTerm
生成密钥对的操作如下:
在
MoxbaXterm
软件中点击Tools
选择
MobaKeyGen(SSH key generator)
,打开操作界面点击
Generate
按钮,开始生成密钥对移动鼠标可以产生更多随机数,从而加速过程
生成需要约一分钟
密钥对生成完毕
2.2.2 保存公钥和私钥
新建名为
ProLinux
的文件夹,用来保存公钥文件和私钥文件。选中
Public key for pasting into Open SSH server(~/.ssh/authorized_keys file)
框中的所有内容鼠标右击,选择复制
双击进入刚才创建的
ProLinux
文件夹,新建文本文档
,修改文件名为mk.pub
选中并右击
mk.pub
文件,选择 >打开方式(H)
>记事本
粘贴公钥内容(之前复制的内容)
单击
文件
,选择保存
回到
MobaXterm SSH Key Generator
界面单击
Save private key
按钮,开始保存私钥文件操作,未设置私钥密码,MobaXterm会弹出警告,选择是(Y)
忽略进入刚才创建的
ProLinux
文件夹,在文件名(N):
中填写私钥文件名,此处以【mk】为例单击
保存
按钮,保存私钥文件查看密钥文件
按照步骤操作完毕后,会得到两个文件
mk.pub
mk.ppk
2.2.3 上传公钥
选中
mk.pub
按Ctrl+C
复制文件,再将其文件名改为authorized_keys
先用 第2.2节: 密码验证登录 的方法登录主机,这里以
172.30.10.103(root)
为例,把authorized_keys
文件上传到/tmp/
目录下,因为示教器新增密钥时默认打开的是此目录在目录树中看到
authorized_keys
即为上传成功,之后关闭连接标签
2.2.4 启动私钥
右击
172.30.10.103(root)
选择Edit session
编辑远程主机配置参数弹出设置界面
选择
Advanced SSH settings
标签, 找到User private key
参数,单击输入框尾部的文件图标,打开mk.ppk
私钥文件设置效果如图所示,单击
OK
保存配置
2.2.5 scope界面上传公钥文件
这里以示教器端为例,从示教器主页进入
设置
功能选择
安全-安全外壳
,点击新增
弹窗显示默认
/tmp
目录,选择authorized_keys.pub
打开界面显示添加密钥成功
2.2.6 测试密钥登录
在 MobaXterm 主界面User sessions
列表中双击172.30.10.103(root)
如果登录成功,说明密钥登录成功