ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

在前两期的文章中,

我们介绍了银河麒麟桌面操作系统的远程桌面客户端,

以及基于RDP和VNC协议连接远程的计算机的方法。

今天的OS课堂

我们为大家送上了节日技能礼包——

基于SSH连接远程计算机的方法,

也是关于远程桌面客户端的最后一节课程,

祝大家童心未泯,一切皆甜。

SSH(Secure Shell)

SSH协议是一种从一台计算机到另一台计算机的安全远程登录方法。它通过对数据进行加密来保护通信的安全性和完整性。相比于一些不安全的登陆协议和文件传输方法(如telnet、rlogin、ftp等),SSH是一种更为安全的替代方案。

远程连接Windows

Windows10安装OpenSSH服务器程序。

开始菜单-设置-应用-应用和功能,点击“可选功能”。在弹出的窗口中,点击“添加功能”。查找OpenSSH服务器,勾选并安装程序。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图1 安装OpenSSH服务器程序

启动sshd【1】服务

在桌面找到“此电脑”,鼠标右键点击“管理”。在弹出的窗口中,选择左侧任务栏中“服务和应用程序”选项,双击展开,然后点击“服务”选项。找到OpenSSH SSH Server.

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图2 服务管理

双击“OpenSSH SSH Server”栏目。在弹出的窗口中,设置“启动类型”为自动,然后点击“服务状态”下的“启动”按钮。点击“确定”关闭窗口。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图3 OpenSSH SSH Server属性页

服务启动后,可以看到本地启动了一个id为78756的进程,监听在22端口,用于接受所有的客户端连接。所以,在服务器端需要设置防火墙放行到本地22端口的入站流量。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图4 sshd端口状态

在客户端电脑上telnet远端22端口,查看端口访问是否正常,如果telnet不通,则需要检查网络链路状态或者防火墙设置是否正确(此例中,部署SSH Server的Windows10电脑的内网地址为172.16.0.1)。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图5 测试端口连通

远程桌面客户端创建连接

在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”【2】。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图6 远程桌面客户端

在“远程桌面设定”窗口中,选择SSH协议类型,在“服务器”一栏中填入要连接到的计算机(即SSH服务端)的ip地址,在“用户名”和“用户密码”栏中填入远程登录的用户名和密码。点击“保存”,保存连接。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图7 ssh密码验证的远程连接

对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图8 远程桌面客户端

连接成功后,客户端窗口将显示Windows的命令提示符,用户可以在等同于本地CMD模式一样的操作Windows系统。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图9 远程的命令提示符

远程连接银河麒麟操作系统

Linux系统之间的远程连接,原理上,和Windows之间是差不多的。同样需要在服务器端部署SSH Server并在防火墙规则中放行22端口的入栈流量。

此例中,服务器端选择麒麟服务器操作系统V10 SP1版本,客户端继续使用上例的麒麟桌面操作系统V10 SP1版本。

麒麟服务器版本和桌面版本的操作系统,默认已安装OpenSSH服务端程序(如果用户使用的系统中不包含这些程序,可以手动安装或者向麒麟客服电话寻求帮助)。检查OpenSSH Server已安装,服务状态为active。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图10 OpenSSH服务端进程

服务启动后,可以看到本地启动了一个id为1296的进程,监听在22端口,用于接受所有的客户端连接。防火墙也已放行所有ssh服务的入站流量。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图11 sshd端口状态

在客户端电脑上telnet远端22端口,查看端口访问是否正常(此例中,部署SSH Server的麒麟系统电脑的内网地址为172.16.200.12)。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图12 测试端口连通

远程桌面客户端创建连接

在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”。在“远程桌面设定”窗口中,选择SSH协议类型,在“服务器”一栏中填入要连接到的计算机(即SSH服务端)的ip地址,在“用户名”和“用户密码”栏中填入远程登录的用户名和密码。点击“保存”,保存连接。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图13 ssh密码验证的远程连接

对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。连接成功后,客户端窗口将显示默认的命令行shell,用户可以在等同于本地shell一样的操作银河麒麟操作系统。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图14 远程的bash shell

补充阅读

supplementary reading

SSH提供两种身份验证方式:密码验证和密钥验证。密码验证即输入正确的用户名和登录密码即可登录到远程的计算机;密钥验证需要在客户端生成一组密钥对,并将公钥放在要登录到的远程电脑(即服务端)中,当客户端建立连接请求时,服务端会使用公钥来加密一组随机信息并将其发送到客户端,客户端使用匹配的私钥对这组随机信息进行解密,然后将结果返回给服务端并与原始数据进行比对,如果比对一致则建立连接会话,如果比对不一致则身份验证失败,通道关闭。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图15 SSH密钥验证流程

1.远程连接Windows(密钥验证)

密钥验证与密码验证的操作步骤大体一致,唯一区别是:密钥验证需要将客户端生成的公钥放到服务器端指定位置下即可。

前置步骤请参考“1.远程连接Windows(密码验证)”图1-图6内容。

在客户端电脑上执行ssh-keygen生成密钥文件(密钥保存位置、私钥密码设置为空即可)。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图16 客户端生成密钥对

在服务器端C:Users以用户名命名的子目录中手动建立一个名称为.ssh的目录。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图17 服务器端.ssh目录

将客户端公钥文件通过远程传输工具或者手动拷贝至上一步创建的.ssh目录中,并将其重命名为authorized_keys【3】。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图18 发送公钥文件

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图19 接收公钥文件

接着,需要修改SSH服务的配置文件,以支持密钥验证。

Windows10中SSH服务的配置文件保存在C:ProgramDatassh目录下(请注意:ProgramData是一个隐藏目录,需要设置“显示隐藏项目”)。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图20 SSH配置目录

使用文本编辑工具打开sshd_config文件,注释87、88行:

#Match Group administrators

# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

保存后关闭文件。在服务管理界面,手动将OpenSSH Authentication Agent服务启动起来(用于密钥验证模式),然后右键点击OpenSSH SSH Server栏目选择“重新启动”,重启SSH Server。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图21 重启SSH Server

完成上述配置后,可以在客户端手动ssh连接到服务器端,验证密钥验证是否成功。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图22 ssh密钥验证

远程桌面客户端创建连接。

在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”。

在“远程桌面设定”窗口中,选择SSH协议类型,在“服务器”一栏中填入要连接到的计算机(即SSH服务端)的ip地址,在“认证类型”一栏中选择“公钥(自动)”。点击“保存”,保存连接。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图23 ssh密钥验证的远程连接

对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图24 远程桌面客户端

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图25 远程的命令提示符

2.远程连接银河麒麟操作系统(密钥验证)

Linux系统之间的密钥验证登录,原理上,和Windows之间是差不多的。同样需要在客户端生成密钥对并将公钥发给服务器端;但是,在Linux中要特别注意权限问题。

本例中,使用“2.远程连接Windows(密钥验证)”中客户端生成的密钥文件。

在客户端电脑上执行下图中的命令,将公钥文件发送到服务器端。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图26 发送公钥文件

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图27 接收公钥文件

完成上述配置后,可以在客户端手动ssh连接到服务器端,验证密钥验证是否成功。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图28 ssh密钥验证

请注意:因为公钥是发送到服务器端root用户的家目录下,而普通用户(包括麒麟管理员用户)默认情况下是无法进入root用户家目录的;所以,此例中,客户端只能通过密钥验证模式登录到服务器端的root用户,使用其它用户登录则会失败。这说明了,ssh密钥验证实现的是用户级的隔离。

远程桌面客户端创建连接。

在“开始菜单”中找到“远程桌面客户端”,打开程序。在弹出的窗口中,点击左上角的“创建一个新的连接配置文件”。

在“远程桌面设定”窗口中,选择SSH协议类型,在“服务器”一栏中填入要连接到的计算机(即SSH服务端)的ip地址,在“认证类型”一栏中选择“公钥(自动)”。点击“保存”,保存连接。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图29 ssh密钥验证的远程连接

对于已创建的连接,可以双击该连接或鼠标右键选择“连接”,连接到远程桌面。

ssh远程登录工具怎么用(openssh是什么软件Windows下安装教程)

图30 远程的bash shell

注:

【1】ssh daemon即OpenSSH服务器端守护进程。

【2】配置文件存放在

~/.local/share/remmina

【3】对于authorized_keys文件,请注意以下事项:服务器端公钥文件的名称必须是authorized_keys。如果对应用户的家目录下已经存在同名文件,则需要将密钥信息追加到文件末尾,而不是替换原有的文件(对于设置了多个客户端使用密钥验证的服务端,authorized_keys文件中应保存所有客户端的公钥信息)。

出于安全性的考虑,authorized_keys文件权限通常被设置为600。

文章来源于互联网,侵权请联系删除。如若转载,请注明出处:https://www.xiaopangyu.com/zixun/26459.html

(0)
上一篇 2023年 5月 14日
下一篇 2023年 5月 14日

相关推荐