通过STelnet登录设备举例
适用产品和版本
CE12800/CE6800/CE5800系列产品V100R001C00或更高版本。
CE16800系列产品V200R005C20或更高版本。
CE7800系列产品V100R003C00或更高版本。
CE8800系列产品V100R006C00或更高版本。
CE12800E系列产品V200R002C50或更高版本。
CE9800系列产品V200R020C00或更高版本。
如果需要了解软件版本与交换机具体型号的配套信息,请查看硬件查询工具。
组网需求
用户希望通过安全的方式登录设备。由于Telnet缺少安全的认证方式,用户可以通过STelnet方式登录设备。
如图1所示,设备作为SSH服务器,与终端PC1和PC2之间路由可达,10.137.217.203是SSH服务器的管理口IP地址。在SSH服务器端配置两个登录用户为client001和client002,PC1使用client001用户通过password认证方式登录SSH服务器,PC2使用client002用户通过RSA认证方式登录SSH服务器。
图1 通过STelnet登录设备组网图
注意事项
通过STelnet登录设备,有以下注意事项:
- 使用SSH1协议存在安全风险,建议使用SSH2登录设备。
- 配置STelnet登录设备前,PC1端应该已安装SSH服务器登录软件,PC2端应该已安装密钥对生成软件、公钥转换软件、SSH服务器登录软件。本举例中,SSH服务器登录软件以第三方软件PuTTY为例。
- 对于V200R005C20、V200R019C00及以后版本,请使用0.70或更高版本的PuTTY软件。如果使用低于0.70的版本,需要使用命令ssh client hmac配置SSH服务器端支持SHA1_96算法才能连接。
配置思路
通过STelnet登录设备的配置思路如下:
- 在SSH服务器端生成本地密钥对,实现服务器端和客户端进行安全地数据交互。
- 在SSH服务器端配置SSH用户client001和client002分别使用不同的认证方式。
- 在SSH服务器端开启STelnet服务功能。
- 在SSH服务器端配置SSH用户client001和client002的服务方式为STelnet。
- 用户client001和client002均以STelnet方式登录SSH服务器。
操作步骤
在服务器端生成本地密钥对。
system-view [~HUAWEI] sysname SSH Server [*HUAWEI] commit [~SSH Server] rsa local-key-pair create //生成本地RSA主机密钥对和服务器密钥对 The key name will be: SSH Server_Host The range of public key size is (512 ~ 2048). NOTE: Key pair generation will take a short while. Input the bits in the modulus [default = 2048] : 2048 //建议您使用默认值,以提高设备安全性。从V200R001C00至V200R019C00版本,仅支持2048bit,不需要用户输入。从V200R019C10版本开始,支持2048和3072bit,默认3072bit。 [*SSH Server] commit 在服务器端创建SSH用户。
# 配置VTY用户界面。
[~SSH Server] user-interface vty 0 4 //进入VTY 0~VTY 4用户界面视图 [~SSH Server-ui-vty0-4] authentication-mode aaa //配置登录用户界面的认证方式为AAA认证 [*SSH Server-ui-vty0-4] user privilege level 3 //配置用户级别为3 [*SSH Server-ui-vty0-4] protocol inbound ssh //配置VTY用户界面支持SSH协议 [*SSH Server-ui-vty0-4] quit
# 创建SSH用户client001,配置其认证方式为password。
[*SSH Server] aaa [*SSH Server-aaa] local-user client001 password irreversible-cipher Huawei@123 //配置本地用户名和密码 [*SSH Server-aaa] local-user client001 level 3 //配置本地用户名的级别为3 [*SSH Server-aaa] local-user client001 service-type ssh //配置本地用户的服务方式为SSH [*SSH Server-aaa] quit [*SSH Server] ssh user client001 authentication-type password //配置SSH用户client001的认证方式为密码认证
# 创建SSH用户client002,进行相应配置。
创建SSH用户client002,配置其认证方式为RSA。
[*SSH Server] ssh user client002 authentication-type rsa //配置SSH用户client002的认证方式为RSA认证 [*SSH Server] ssh authorization-type default root
在PC2上运行puttygen.exe。用于生成公用密钥、私用密钥两个文件,供后续使用。
选取“RSA”,点击“Generate”,进入密钥生成状态,此时需要将鼠标在空白处进行移动,从而不断生成密钥。
图2 生成客户端密钥对(1)
图3 生成客户端密钥对(2)
密钥对产生后,在“Key passphrase”文本框中输入密码,并在“Confirm passphrase”文本框中再次输入该密码,作为SSH终端用户登录SSH服务器的密码。单击“Save private key”,输入存储私钥的文件名private.ppk,单击保存。将生成的公钥全部拷贝,粘贴至记事本中,并命名为public.txt。
图4 生成客户端密钥对(3)
在SSH服务器端输入PC2上转换后的RSA公钥。
[*SSH Server] rsa peer-public-key rsakey001 encoding-type openssh //进入RSA公共密钥视图 [*SSH Server-rsa-public-key] public-key-code begin //进入RSA公共密钥编辑视图 [*SSH Server-rsa-public-key-rsa-key-code] ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxHbcqV6 qqnb1+jQQ0qFLptxWS1xRFfDe6DuMaX2eRUCx3fp2eBA1bgUfHd7eCO05CfHfC443oNBwlj/39Obi8kS RIQSlXOU1KIP8DNYtwU/N23p/YDHzbgOVvN6dSr+Ua2Er7m2Hehzdo2XoGuWokqhnuMpA7O7zykXs7rM 6tdf+hh/992o6GHBD9IbJe9mG6WoAmDkBmedXzBqJeeGb2wbGg9hBTIgVQqZNhthGcVlLUlPJlZQi1ZO L3C/cVIOXqnVOqqxHk6nlWcMRo0PxOAegtyzsBETnvcEO2xVw6zF0WVFvU60C99THB+GpuHuRdWzvUNC ZpsjmCwkg+4RFGQ== rsa-key-20190422 [*SSH Server-rsa-public-key-rsa-key-code] public-key-code end //退出RSA公共密钥编辑视图 [*SSH Server-rsa-public-key] peer-public-key end //退出RSA公共密钥视图
在SSH服务器端为SSH用户client002绑定RSA公钥。
[*SSH Server] ssh user client002 assign rsa-key rsakey001 [*SSH Server] commit
配置SSH服务器的源接口。从V200R019C10版本开始需要执行此步骤。
[~SSH Server] ssh server-source all-interface //V200R019C10版本可执行本命令 Warning: SSH server source configuration will take effect in the next login. Do you want to continue? [Y/N]: y Warning: It expandes the range of accessed IP. [~SSH Server] ssh server-source -i meth 0/0/0 //从V200R020C00版本开始,请执行本命令
SSH服务器端开启STelnet服务功能。
[~SSH Server] stelnet server enable [*SSH Server] commit
配置SSH用户client001、client002的服务方式为STelnet。
[~SSH Server] ssh user client001 service-type stelnet [*SSH Server] ssh user client002 service-type stelnet [*SSH Server] commit
验证
配置完成后,PC可以通过PuTTY软件成功登录到SSH服务器(对于不同版本回显信息可能会有差异,请以设备实际显示为准)。
从V200R020C00版本开始,如果设备上使用sha2_512、sha2_256算法,则需确保客户端软件也支持这些算法,例如OpenSSH的8.2及其以上版本。
PC1端client001用password认证方式连接SSH服务器。
# 通过PuTTY软件登录设备,输入设备的IP地址,选择协议类型为SSH。
图5 通过PuTTY软件用password认证方式连接SSH服务器示意图
# 点击“Open”,出现如下界面,输入用户名client001和密码Huawei@123,并按Enter键,至此已登录到SSH服务器。
login as: client001 Sent username "client001" client001@10.137.217.203's password: Info: The max number of VTY users is 21, the number of current VTY users online is 2, and total number of terminal users online is 2. The current login time is 2012-08-04 20:09:11+00:00. First login successfully.
PC2端client002用RSA认证方式连接SSH服务器。
# 通过PuTTY软件登录设备,输入设备的IP地址,选择协议类型为SSH。
图6 通过PuTTY软件用RSA认证方式连接SSH服务器示意图(1)
# 单击左侧导航栏“Connection->SSH”,出现图7的界面,选择SSH协议版本为2。
图7 通过PuTTY软件用RSA认证方式连接SSH服务器示意图(2)
# 单击左侧导航栏“Connection->SSH”下面的“Auth”(认证),出现图8的界面。选择与配置到服务器端的公钥对应的私钥文件private.ppk。
图8 通过PuTTY软件用RSA认证方式连接SSH服务器示意图(3)
# 点击“Open”,出现如下界面,输入用户名client002,并按Enter键,至此已登录到SSH服务器。
login as: client002 Authenticating with public key "rsa-key" Info: The max number of VTY users is 5, the number of current VTY users online is 2, and total number of terminal users online is 2. The current login time is 2012-08-06 04:30:23+00:00. First login successfully.
配置文件
SSH服务器的配置文件(除V200R002C50和V200R003C00版本外)
#
sysname SSH Server
#
rsa peer-public-key rsakey001 encoding-type openssh
public-key-code begin
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxHbcqV6qqnb1+jQQ0qFLptxWS1xRFfDe6DuMaX2eRUCx
3fp2eBA1bgUfHd7eCO05CfHfC443oNBwlj/39Obi8kSRIQSlXOU1KIP8DNYtwU/N23p/YDHzbgOVvN6d
Sr+Ua2Er7m2Hehzdo2XoGuWokqhnuMpA7O7zykXs7rM6tdf+hh/992o6GHBD9IbJe9mG6WoAmDkBmedX
zBqJeeGb2wbGg9hBTIgVQqZNhthGcVlLUlPJlZQi1ZOL3C/cVIOXqnVOqqxHk6nlWcMRo0PxOAegtyzs
BETnvcEO2xVw6zF0WVFvU60C99THB+GpuHuRdWzvUNCZpsjmCwkg+4RFGQ== rsa-key
public-key-code end
peer-public-key end
#
aaa
local-user client001 password irreversible-cipher $1a$v!=.5/:(q-$xL=\K+if"'S}>k7vGP5$_ox0B@ys7.'DBHL~3*aN$ //此处密文格式仅为示例,不同版本之间可能存在不同。
local-user client001 service-type ssh
local-user client001 level 3
#
stelnet server enable
ssh user client001
ssh user client001 authentication-type password
ssh user client001 service-type stelnet
ssh user client002
ssh user client002 authentication-type rsa
ssh user client002 assign rsa-key rsakey001
ssh user client002 service-type stelnet
#
user-interface vty 0 4
authentication-mode aaa
user privilege level 3
protocol inbound ssh
#
return
SSH服务器的配置文件(V200R002C50及V200R003C00版本)
#
sysname SSH Server
#
rsa peer-public-key rsakey001 encoding-type openssh
public-key-code begin
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxHbcqV6qqnb1+jQQ0qFLptxWS1xRFfDe6DuMaX2eRUCx
3fp2eBA1bgUfHd7eCO05CfHfC443oNBwlj/39Obi8kSRIQSlXOU1KIP8DNYtwU/N23p/YDHzbgOVvN6d
Sr+Ua2Er7m2Hehzdo2XoGuWokqhnuMpA7O7zykXs7rM6tdf+hh/992o6GHBD9IbJe9mG6WoAmDkBmedX
zBqJeeGb2wbGg9hBTIgVQqZNhthGcVlLUlPJlZQi1ZOL3C/cVIOXqnVOqqxHk6nlWcMRo0PxOAegtyzs
BETnvcEO2xVw6zF0WVFvU60C99THB+GpuHuRdWzvUNCZpsjmCwkg+4RFGQ== rsa-key
public-key-code end
peer-public-key end
#
aaa
local-user client001 password irreversible-cipher $1a$v!=.5/:(q-$xL=\K+if"'S}>k7vGP5$_ox0B@ys7.'DBHL~3*aN$ //此处密文格式仅为示例,不同版本之间可能存在不同。
local-user client001 service-type ssh
local-user client001 level 3
#
stelnet ipv4 server enable
stelnet ipv6 server enable
ssh user client001
ssh user client001 authentication-type password
ssh user client001 service-type stelnet
ssh user client002
ssh user client002 authentication-type rsa
ssh user client002 assign rsa-key rsakey001
ssh user client002 service-type stelnet
ssh server-source all-interface //V200R019C10版本
ssh server-source -i MEth 0/0/0 //V200R020C00版本及其后续版本
#
user-interface vty 0 4
authentication-mode aaa
user privilege level 3
protocol inbound ssh
#
return