【银河麒麟 V10】SSH服务简介、OpenSSH安装、使用

SSH服务简介

网络传输信息最重要的就是确保安全性,这个安全性分为两个方面,一个是保证数据安全到达接受一方,另一个则是确保数据不被截获破解。SSH服务则很好地解决了数据传输的问题。它不仅用于加密并且压缩传输的数据,而且提高了数据传输的速度、增强了安全性。

SSH 叫安全外壳协议(Secure Shell),是一种加密的网络传输协议,可在不安全的网络中网络服务提供安全的传输环境。它通过在网络中创建安全隧道来实现 SSH 客户端和服务器之间的连接。最早的时候,互联网通信都是明文通信,一旦被截获,内容就会被暴露。

目前,一般使用免费的OpenSSH代替SSH通信协议。

在利用Telnet,rlogin和ftp进行网络连接时,网络传输中的数据是没有经过加密的,安全性不高。而SSH是一个在应用程序中提供安全通信的协议,对传输的数据进行加密,保证数据在传输时不被恶意破坏、泄露和篡改。通过SSH可以安全地访问服务器。

如需深入了解SSH可以参考这篇文章深入了解SSH

加密体系结构

在密码学中,加密是将明文信息隐匿起来,使之在缺少特殊信息时不可读。加密体系包括了加密算法、数字摘要、数字签名和CA。现代密码学的一项重要发明和进展是公开密钥密码体制。密码学的主题包括两个方面:一方面是保护信息传递的机密性;另一方面是身份验证、信息记录和数据完整性的保障。

公共密钥体制的理论结构基础是非对称性算法,其原理是加密密钥和解密密钥分离。加密密钥谁都可以使用,但解密密钥就只有解密人自己知道。不需专门使用安全通道传递密钥,简化了密钥管理。公共密钥体制有时也称为公开密钥算法或简称公钥算法。

现在流行的RSA和AES加密算法都是完全公开的,一方取得已加密的数据,就算知道加密算法也好,若没有加密的密钥,也不能打开被加密保护的信息。

公共密钥算法加解密过程

用户A发送数据给用户B

  • 第1步,用户B通过网络等方式向外界公开他的公钥PUB_B。
  • 第2步,用户A得到用户B的公钥PUB_B,然后使用PUB_B对信息加密发送给用户B。
  • 第3步,用户B在收到密文后,使用其私钥PRI_B解密。

OpenSSH安装

OpenSSH是免费的SSH协议替代软件,提供许多安全的实用程序。

程序名作用描述
sshd运行OpenSSH的服务器软件,监听来自客户端的连接请求,收到请求后,执行身份验证来为客户端提供服务。
ssh用于登录其他主机或者在其他主机上运行程序,属于客户端程序,有时也被称为“slogin”。
scp用于在主机间运行安全性复制工作的程序,替代rcp程序。
ssh-keygen用于产生Public Key验证密钥,即RSA或DSA的主机及用户验证密钥。
ssh-agent保存验证用的RSA密钥。
ssh-add产生新的密钥。
sftp-serverSFTP服务器软件。
sftp安全性更高的FTP程序。
ssh-keyscan集中管理SSH公钥软件。
ssh-keysignSSH的说明程序,在主机验证时运行。

当前OpenSSH和OpenSSL最新版本的下载地址为:

ftp://mirror.planetunix.net/pub/OpenBSD/OpenSSH/openssh-9.6.tar.gz
ftp:// ftp.openssl.org/source/openssl-1.1.1w.tar.gz

OpenSSH源代码软件包提供了SSH客户端和服务端程序(sshd)。

在银河麒麟系统按默认设置安装的情况下,OpenSSH服务、客户程序以及OpenSSL都会自动安装。一般来说,先输入命令查看系统中OpenSSH服务的安装过程。

输入以下指令查看OpenSSH服务的安装情况:

[root@localhost ~]#yum list installed |grep openssh

指令执行后显示如图所示:
在这里插入图片描述

使用指令

使用systemctl命令启动SSH服务

[root@localhost ~]#systemctl start sshd.service

查看SSH的启动状态

[root@localhost ~]#systemctl status sshd

启动后如图所示:
在这里插入图片描述
重启服务

[root@localhost ~]# systemctl restart sshd.service

停止服务:

[root@localhost ~]#systemctl stop sshd.service

自动启动服务:
执行“ntsysv”命令启动服务配置程序,在显示的对话框(如下图所示)中找到“sshd”服务,并在其前面加上星号“*”,选择“确定”按钮。
在这里插入图片描述

SSH客户端在Windows平台下的使用

第1步,获取PuTTY程序
Windows下有许多SSH的客户端程序,一般可以使用免费的PuTTY程序。下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html,页面如图所示。
在这里插入图片描述

第2步,连接SSH服务器
启动下载的putty.exe文件,显示PuTTY程序主界面,在“Host Name”标识的文本框中输入服务器的IP地址或域名,选择“Protocol”区域的“SSH”复选按钮,最后单击“Open”按钮开始连接,如图所示。
在这里插入图片描述

注意:
在第一次连接到服务器的时候,PuTTY程序显示警告信息和服务器信息,这是因为服务器公钥还没有缓存在注册表中,如图所示。
在这里插入图片描述

第3步,登录远程系统
PuTTY成功地连接到SSH服务器后,显示登录信息并提示用户输入用户名和口令。正确输入用户名和口令登录远程系统。

SSH客户端在Linux平台下的使用

OpenSSH的客户程序是openssh-clients,用来连接SSH服务器。银河麒麟系统已经默认安装了SSH客户程序,需要检查系统是否安装了SSH客户程序或查看安装版本,可以使用以下命令:

[root@localhost ~]#yum list installed | grep openssh

1、以ssh命令登录远程主机

安装好openssh-clients程序后,就可以登录SSH服务器了,这里直接使用ssh命令。ssh与rlogin,rsh和telnet的功能相同,但有更强的安全性,能够登录远程主机并运行程序。

以下是ssh的命令格式:

ssh  服务器的IP地址或主机名

为说明用户登录的信息,以OpenSSH服务器主机的IP地址为192.168.247.131为例。

用户如果是第一次使用ssh命令登录OpenSSH服务器,那么显示如下信息:

[root@localhost ~]# ssh 192.168.247.131
The authenticity of host ‘192.168.247.131 (192.168.247.131)’ can’t be established.
ECDSA key fingerprint is SHA256:nA2aq/w9ddvWQY5PirUK5yNZIrLNmUeexjgE42t3IN8.
ECDSA key fingerprint is MD5:33:68:38:bf:ea:1c:5e:21:c6:d4:c7:50:9b:51:67:20.
Are you sure you want to continue connecting (yes/no)?

表示目前尚未建立主机的验证数据,要继续则输入“yes”,显示如下警告信息:

Warning: Permanently added ‘192.168.247.131’ (ECDSA) to the list of known hosts.
root@192.168.247.131’s password:

表示主机已加入到已知主机列表中,接下来服务器提示输入密码。

密码输入正确后,系统响应上次登录的日期和时间,并进入Shell,如图所示,则表示验证成功。
在这里插入图片描述

(1)使用和现在不同的账号名登录
使用如下语法格式:

ssh –1账号名 服务器的IP地址或主机名 

或者

ssh账号名@服务器的IP地址或主机名 

实例 使用“sheriff”账户名登录192.168.1.101。

[root@localhost ~]# ssh -1 sheriff 192.168.1.101

(2)允许用户在未登录远程主机的情况下,在远程主机上执行程序或命令
语法格式如下:

ssh 服务器的IP地址或主机名 命令

实例 登录远程主机192.168.100.10,在远程主机192.168.100.10中,运行“ls -l”命令。

[root@localhost ~]# ssh sheriff@192.168.100.10 ls -l

2、以sftp命令与远程主机传输文件

sftp命令使用时的语法如下:

sftp账号名@服务器的IP地址或主机名 

实例 使用sheriff账号登录到主机192.168.100.10的OpenSSH服务器:

[root@localhost ~]# sftp sheriff 192.168.100.10

(1)使用sftp命令将本地文件上传到远程主机
语法格式如下:

sftp>put 本地文件名 远程文件名

实例 假设本地计算机当差目录下,包含一个名为“local_1”的文件,使用sftp命令将其传送到远程主机192.168.100.10中,然后以“/home/sheriff/local_1”的名称保存,如图所示。
在这里插入图片描述

(2)使用sftp命令将远程主机上的文下载到本地主机
语法格式如下:

sftp>get远程文件名 本地文件名 

实例 假设远程主机192.168.100.10的“/home/sheriff/”目录下,包含一个名为“remote_1”的文件,使用sftp命令下载该文件到本地主机当前目录,并以“remote_1”的名称保存。

sftp> get /home/sheriff/ remote_1 local_1

在这里插入图片描述

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值