配置用户通过STelnet登录设备示例
组网需求
网络中有大量设备需要管理与维护,用户不可能为每台设备连接用户终端,特别是终端与需要管理的设备之间无可达路由时,用户可以使用Telnet方式从当前设备登录到网络上另一台设备,从而实现对远程设备的管理与维护。但是Telnet缺少安全的认证方式,而且传输过程采用TCP进行明文传输,存在很大的安全隐患。
STelnet是一种安全的Telnet服务,建立在SSH连接的基础之上。SSH可以利用加密和强大的认证功能提供安全保障,保护设备不受诸如IP地址欺诈、简单密码截取等攻击。
如图1所示,在作为SSH服务器的交换机上使能STelnet服务器功能后,SSH客户端PC可以通过password、RSA、password-rsa、ECC、password-ecc、DSA、password-dsa或all认证方式登录SSH服务器。这里以RSA认证方式为例介绍客户端通过STelnet登录服务器的配置过程。
为了提升系统安全性,防止非法用户登录到SSH服务器,用户可以在SSH服务器上配置ACL规则。
配置思路
采用如下的思路配置SSH用户通过STelnet登录设备:
通过Console口登录并配置SSH服务器的管理网口IP地址。
配置SSH服务器的VTY用户界面。
创建本地用户,并配置认证方式和服务类型。
创建SSH用户,并配置认证方式。
- SSH客户端根据配置的SSH用户认证类型创建相应的密钥对,并将公钥拷贝至SSH服务器。
- SSH服务器端编辑公钥,并将编辑好的公钥分配给用户。
使能SSH服务器的STelnet功能,配置SSH用户的服务类型为STelnet。
- 在SSH服务器上配置允许STelnet客户端登录的ACL规则。
配置客户端登录软件的参数,STelnet至服务器。
数据准备
为完成此配置示例,需准备如下数据:
- SSH客户端已安装PuTTYGen.exe和PuTTY.exe软件。
- SSH服务器管理网口的IP地址为10.248.103.194/24。
- 本地用户的认证方式为password,用户名为“huawei123”,密码为“Huawei@123”。
- SSH用户的认证方式为RSA。
- 配置基本的ACL 2000,允许10.248.103.0/24网段的客户端合法接入SSH服务器。
操作步骤
- 配置SSH服务器的管理网口IP地址。
<HUAWEI> system-view [~HUAWEI] sysname SSH Server [*HUAWEI] commit [~SSH Server] interface meth 0/0/0 [~SSH Server-MEth0/0/0] undo shutdown [*SSH Server-MEth0/0/0] ip address 10.248.103.194 255.255.255.0 [*SSH Server-MEth0/0/0] commit [~SSH Server-MEth0/0/0] quit
- 配置SSH服务器的VTY用户界面。
[~SSH Server] user-interface vty 0 4 [~SSH Server-ui-vty0-4] authentication-mode aaa [*SSH Server-ui-vty0-4] protocol inbound ssh [*SSH Server-ui-vty0-4] user privilege level 3 [*SSH Server-ui-vty0-4] quit
若配置登录协议为SSH,则设备将自动禁止Telnet功能。
- 在服务器端创建本地用户,将用户加入管理员组,并配置用户服务方式。
[*SSH Server] aaa [*SSH Server-aaa] local-user huawei123 password irreversible-cipher Huawei@123 [*SSH Server-aaa] local-user huawei123 user-group manage-ug [*SSH Server-aaa] local-user huawei123 service-type ssh [*SSH Server-aaa] commit [~SSH Server-aaa] quit
不选择cipher或irreversible-cipher关键字时,密码以交互式输入,系统不回显密码。
特殊字符不包括“?”和空格。但是,当输入的密码两端使用双引号时,可在密码中间输入空格。如果使用双引号设置带空格密码,双引号之间不能再使用双引号。
如果使用双引号没有设置带空格密码,双引号之间可以再使用双引号。
例如,"Aa 123"45""为不合法密码,"Aa123"45""为合法密码。
- 选择cipher关键字时,密码可以以明文形式输入,也可以以密文形式输入。
密码以明文形式输入,要求与不选择cipher关键字时一样。密码以明文形式输入,系统会回显明文形式的密码,存在安全风险,因此建议使用交互式输入密码。
无论是明文输入还是密文输入,配置文件中都以密文形式体现。
选择irreversible-cipher关键字时,密码可以以明文形式输入,也可以以不可逆密文形式输入。
密码以明文形式输入,要求与不选择irreversible-cipher关键字时一样。
无论是明文输入还是不可逆密文输入,配置文件中都以密文形式体现。
- 配置服务器的源接口。
[~SSH Server] ssh server-source all-interface
- 在服务器端创建SSH用户,并配置认证方式。
[~SSH Server] ssh user huawei123 [*SSH Server] ssh user huawei123 authentication-type rsa [*SSH Server] commit
- SSH客户端使用PuTTY创建RSA密钥对,并将公钥拷贝至SSH服务器。
- 打开PuTTYGen.exe软件。用户可以点击Windows系统的“开始”进入命令行提示符,在“搜索程序和文件”中输入PuTTYGen,点击即可打开该软件。如图2所示。
- 单击“Generate”,产生密钥对。在产生密钥对的过程中需要不停的移动鼠标,鼠标移动仅限于窗口中除绿色标记进程条外的地方。否则进程条的显示会不动,密钥对将停止产生,如图3所示。
- 密钥对产生后,在“Key passphrase”文本框中输入密码,并在“Confirm passphrase”文本框中再次输入该密码,作为SSH终端用户登录SSH服务器的密码。单击“Save private key”,输入存储私钥的文件名private.ppk,单击保存。将生成的公钥全部拷贝,粘贴至记事本中,并命名为public.txt。图6-23 生成客户端密钥对(3)
- SSH服务器编辑公钥,并将编辑后的公钥分配给用户。
[~SSH Server] rsa peer-public-key rsa01 encoding-type openssh [*SSH Server-rsa-public-key] public-key-code begin [*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 [*SSH Server-key-code] peer-public-key end [*SSH Server] ssh user huawei123 assign rsa-key rsa01 [*SSH Server] commit
- 使能STelnet功能,并配置用户的服务类型为STelnet。
[~SSH Server] stelnet server enable [*SSH Server] ssh user huawei123 service-type stelnet [*SSH Server] commit
- 配置ACL规则。
[~SSH Server] acl 2000 [~SSH Server-acl4-basic-2000] rule permit source 10.248.103.0 8 [*SSH Server-acl4-basic-2000] quit [*SSH Server] ssh server acl 2000 [*SSH Server] commit
- 客户端通过PuTTY.exe软件登录SSH服务器。
配置文件
SSH服务器的配置文件
# sysname SSH Server # acl number 2000 rule 5 permit source 10.248.103.0 0.0.0.255 # rsa peer-public-key rsa01 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 huawei123 password irreversible-cipher $1c$+,JS+))\\2$KVNj(.3`_5x0FCKGv}H&.kUTI`Ff&H*eBqO.ua>)$ local-user huawei123 service-type ssh local-user huawei123 user-group manage-ug # interface MEth0/0/0 undo shutdown ip address 10.248.103.194 255.255.255.0 # stelnet server enable ssh user huawei123 ssh user huawei123 authentication-type rsa ssh user huawei123 assign rsa-key rsa01 ssh user huawei123 service-type stelnet ssh server-source all-interface ssh server acl 2000 # user-interface vty 0 4 authentication-mode aaa user privilege level 3 idle-timeout 120 0 protocol inbound ssh # return