• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C E126以太网交换机 操作手册-RELEASE 0011(V1.04)

23-SSH终端服务操作

本章节下载  (5.62 MB)

23-SSH终端服务操作


第1章  SSH终端服务

1.1  SSH终端服务

1.1.1  SSH简介

SSHSecure Shell(安全外壳)的简称。当用户通过一个不能保证安全的网络环境远程登录到交换机时,SSH特性可以提供安全的信息保障和强大的认证功能,以保护交换机不受诸如IP地址欺诈、明文密码截取等攻击。

交换机作为SSH Server,可以接受多个SSH客户的连接,目前支持的版本是SSH2.0SSH客户端的功能是允许用户与支持SSH Server的交换机、UNIX主机等建立SSH连接。

下面的图1-1图1-2,分别表示了客户端与服务器端建立SSH通道的两种方式:

l              通过本地局域网连接

图1-1 在局域网内建立SSH通道

l              通过广域网连接

图1-2 通过广域网建立SSH通道

在整个通讯过程中,为实现SSH认证的安全连接,服务器端与客户端要经历如下五个阶段:

(1)        版本号协商阶段。具体步骤如下:

l              客户端向服务器端发送TCP连接请求。

l              TCP连接建立后,服务器端和客户端进行版本号协商。

l              如果协商成功,则进入密钥算法协商阶段,否则服务器端断开TCP连接。

(2)        密钥和算法协商阶段。具体步骤如下:

l              服务器端和客户端分别发送算法协商报文给对端,报文中包含自己支持的服务器端公钥算法列表、加密算法列表、MACMessage Authentication Code,消息验证码)算法列表、压缩算法列表等。

l              服务器端和客户端根据对端和本端支持的算法列表得出最终使用的算法。

l              利用DH交换(Diffie-Hellman Exchange)算法、主机密钥对等参数,生成会话密钥和会话ID

通过以上步骤,服务器端和客户端就取得了相同的会话密钥和会话ID。对于后续传输的数据,两端都会使用会话密钥进行加密和解密,保证了数据传送的安全。在认证阶段,两端会使用会话ID用于认证过程。

(3)        认证方法协商阶段:

l              客户端向服务器端发送自己的用户名信息。

l              服务器端启动对该用户进行认证。如果服务器端配置了该用户不需要认证,则直接进入会话请求阶段。

l              客户端采用某种认证方法向服务器端进行认证,直到认证通过或服务器由于超时而断开连接。

&  说明:

SSH提供两种认证方法:口令认证和RSA认证。

(1) 口令认证过程如下:

l      客户端将认证用户名和口令发送给服务器端;

l      服务器端对客户端发送过来的用户名及口令与本地配置信息进行比较,如果两者完全匹配,则通过认证。

(2) RSA认证过程如下:

l      服务器端进行客户端的RSA公钥配置;

l      客户端向服务器端发送自己RSA公钥的成员模数;

l      服务器端对此成员模数进行有效性认证,认证通过后产生一个随机数,使用客户端的RSA公钥加密后回送给客户端;

l      服务器端和客户端均以此随机数和会话号作为参数计算出用于认证的数据;

l      客户端将自己计算出来的认证数据发送给服务器端;

l      服务器端将客户端发送过来的认证数据与本地计算出的认证数据进行比较,如果两者相同,则认证通过。

 

(4)        会话请求阶段:认证通过后,客户端将向服务器端发送会话请求。服务器端成功处理请求后,SSH进入交互会话阶段。

(5)        交互会话阶段:客户端和服务器端进行数据交互,直到会话结束。

1.1.2  SSH Server配置

SSH服务器端的配置命令包括:

表1-1 SSH终端服务的配置

配置项

命令关键字

说明

设置所在用户界面支持的协议

protocol inbound

请参见“配置所在用户界面支持的协议

生成本地RSA密钥对

rsa local-key-pair create

请参见“生成或销毁RSA密钥

销毁本地RSA密钥对

rsa local-key-pair destroy

创建一个SSH用户

ssh user username

请参见“创建一个SSH用户

SSH用户指定一种缺省的认证方式

ssh authentication-type default

请参见“配置用户的认证方式

SSH用户配置认证方式

ssh user username authentication-type

设置SSH认证超时时间

ssh server timeout

请参见“配置服务器上的SSH管理功能

设置SSH认证重试次数

ssh server authentication-retries

SSH用户分配公钥

ssh user username assign rsa-key keyname

请参见“为客户端分配公共密钥

 

1. 配置所在用户界面支持的协议

该配置任务用来指定所在的用户界面支持的协议。

表1-2 设置所在用户界面支持的协议

操作

命令

说明

进入系统视图

system-view

-

进入单一或多个用户界面视图

user-interface [ type-keyword ] number [ ending-number ]

必选

配置登录用户界面的认证方式

authentication-mode scheme [ command-authorization ]

必选

配置所在用户界面支持的协议

protocol inbound { all |ssh | telnet }

可选

缺省情况下,系统支持所有的协议,即支持TelnetSSH

 

  注意:

l      如果在该用户界面上配置支持的协议是SSH,为确保登录成功,请您务必配置登录用户界面的认证方式为authentication-mode scheme(采用AAA认证)。

l      如果配置认证方式为authentication-mode passwordauthentication-mode none,则protocol inbound ssh配置结果将失败;反之亦然。

 

2. 生成或销毁RSA密钥

该配置任务用来生成或销毁服务器端的RSA密钥对,其命名方式为交换机名称加上_host,如:H3C_host

输入该命令后,系统会提示您输入密钥的长度:

SSH2.0中,密钥的长度范围为5122048位。有的客户端要求服务器端生成的密钥长度必须大于或等于768位。

表1-3 生成和销毁本地RSA密钥

操作

命令

说明

进入系统视图

system-view

-

产生本地RSA密钥

rsa local-key-pair create

必选

销毁本地RSA密钥

rsa local-key-pair destroy

必选

 

  注意:

l      生成服务器端的RSA密钥是完成SSH登录的首要操作。

l      此命令只需执行一遍,交换机重启后不必再次执行。

l      如果密钥对在配置前已经存在,则系统会提示是否进行替换。

 

3. 创建一个SSH用户

该配置任务用来创建一个SSH用户。

表1-4 创建一个SSH用户

操作

命令

说明

进入系统视图

system-view

-

创建一个SSH用户

ssh user username

必选

 

需要注意的是:通过该方式创建的SSH用户,若没有通过ssh user authentication-type命令单独为这个用户指定认证方式,则该用户采用缺省认证方式。反之,如果不配置SSH的缺省认证方式,则必须单独为这个用户指定认证方式。

4. 配置用户的认证方式

该配置任务用来为SSH用户指定认证方式。对于新用户,必须指定其认证方式,否则将无法登录。

表1-5 指定SSH用户的认证方式

操作

命令

说明

进入系统视图

system-view

-

SSH用户指定一种缺省的认证方式

ssh authentication-type default { password | rsa | password-publickey | all }

二者必选其一

缺省情况下,系统没有指定用户登录时可以选用的认证方式,即SSH用户无法登录

SSH用户配置认证方式

ssh user username authentication-type { password | password-publickey | rsa| all }

 

对于上述配置命令:

l              ssh user username authentication-type命令用于为某一用户配置认证方式,ssh authentication-type default命令用于为所有用户配置缺省的认证方式。

l              当两条命令同时配置,且认证方式不同时,用户username的认证方式以ssh user username authentication-type命令配置为准。

  注意:

l      如果配置为RSA认证方式,则必须在设备上配置客户端用户的RSA公钥。

l      如果不指定用户的登录认证方式,则用户无法登录。

l      对于password-publickey指定的认证方式:客户端版本为SSH V1的用户只要通过其中一种认证即可登录;客户端版本为SSH V2的用户必须两种认证都通过才能登录。

l      配置password认证时,username应与AAA中定义的有效用户名一致;配置RSA认证时,username就是SSH本地用户名,不需要在AAA中配置本地用户。

l      如果用户配置的缺省认证方式为password,并且采用AAA本地认证,则还需要使用local-user命令在本地数据库中添加用户名和密码。在这种情况下,可以直接使用local-user命令配置的用户名和密码(配置service-typessh)登录SSH服务器,省略掉ssh user命令的配置。

l      如果用户配置的缺省认证方式为password,并且采用远程认证,如RADIUS认证,则可以直接使用远程服务器上的用户名和密码登陆SSH服务器,省略掉ssh user命令的配置。

l      使用ssh user username authentication-type 命令为SSH用户指定认证方式时,如果该SSH用户不存在,则系统会自动创建一个SSH用户。

l      如果配置为RSA认证方式,则SSH用户登录服务器后可以访问的命令级别可通过user privilege level命令来配置,且所有使用RSA认证方式的用户可访问的命令级别相同。

l      如果配置为password认证方式,则SSH用户登录服务器后可以访问的命令级别由AAA来授权,使用password认证方式的不同用户,能够访问的命令级别可以不同。

 

5. 配置服务器上的SSH管理功能

设置认证超时时间和验证重试次数,可以更大限度地保证您的SSH连接的安全性,防止恶意猜测等非法行为。

表1-6 配置服务器上的SSH管理功能

操作

命令

说明

进入系统视图

system-view

-

设置SSH认证超时时间

ssh server timeout seconds

可选

缺省情况下,seconds值为60

设置SSH验证重试次数

ssh server authentication-retries times

可选

缺省情况下,times值为3

 

6. 为客户端分配公共密钥

本配置适用于对SSH用户采用RSA认证的情况。在设备上配置的是客户端SSH用户的RSA公钥。而在客户端,需要为该SSH用户指定与RSA公钥对应的RSA私钥。此时的客户端密钥,是由支持SSH2.0的客户端软件随机生成的。如果设备上对SSH用户配置的认证方式为口令认证,则不必进行本配置。

表1-7 配置客户端用户的RSA公钥

操作

命令

说明

进入系统视图

system-view

-

进入公共密钥视图

rsa peer-public-key keyname

必选

进入公共密钥编辑视图

public-key-code begin

-

 

配置客户端的公钥

直接输入公钥内容

必选

在输入公钥内容时,字符之间可以有空格,也可以按回车键继续输入数据,所配置的公钥必须是按公钥格式编码的十六进制字符串

退出公共密钥编辑视图,退回到公共密钥视图

public-key-code end

-

退出视图时,保存输入的公钥数据

退出公共密钥视图,退回到系统视图

peer-public-key end

-

SSH用户分配公共密钥

ssh user username assign rsa-key keyname

必选

keyname为已经存在的公共密钥名称。使用该命令为用户分配公钥时,如果此用户已经被分配了公钥,那么,以最后一次分配的公钥为准

 

&  说明:

l      以上方式需要用户在客户端使用软件对公钥进行格式转换,然后在服务器端对转换后的公钥进行手工配置。

l      使用ssh user username assign rsa-key命令为SSH用户分配公共密钥时,如果该SSH用户不存在,则系统会自动创建一个SSH用户。

l      手工配置客户端的公钥时,可将客户端的本地主机公钥数据以拷贝粘贴方式配置到服务器端。

 

1.1.3  配置SSH客户端

SSH客户端软件有很多,例如PuTTYOpenSSH等。SSH客户端要与服务器建立连接,需要做如下基本配置:

l              指定服务器IP地址。

l              选择远程连接协议为SSH。通常客户端可以支持多种远程连接协议,如TelnetRloginSSH等。要建立SSH连接,必须选择远程连接协议为SSH

l              选择SSH版本。由于设备目前只支持的版本是SSH服务器2.0版本,客户端只能选择2.0版本。

l              指定RSA私钥文件。如果在服务器端配置了SSH用户采用RSA认证,并为SSH用户指定了RSA公钥,就必须在客户端指定与该RSA公钥对应的RSA私钥文件。RSA密钥对是由客户端软件附带的工具生成的。

下面以客户端软件PuTTYPuTTYGenSSHKEY为例,说明SSH客户端的配置方法。

1. 生成客户端密钥

运行PuTTYGen.exe,参数栏使用“SSH2(RSA)”,点击<Generate>,产生客户端密钥对。

 

图1-3 生成客户端密钥(1

在产生密钥对的过程中需不停的移动鼠标,鼠标移动仅限于下图蓝色框中除绿色标记进程条外的地方,否则进程条的显示会不动,密钥对将停止产生,见图1-4

图1-4 生成客户端密钥(2

密钥对产生后,点击<save public key>,输入存储公钥的文件名public,点击保存。

图1-5 生成客户端密钥(3

同理,点击<save private key>存储私钥,弹出警告框,提醒是否保存没做任何保护措施的私钥,点击<Yes>,输入私钥文件名即可,此处为private,点击保存。

 

图1-6 生成客户端密钥(4

运行SSHKEY.exe,点击<Browse>,选择公钥文件public。然后点击<Convert>,即可生成PKCS编码格式的RSA公钥数据。

图1-7 生成客户端密钥(5

2. 指定服务器IP地址

打开PuTTY.exe程序,出现如下客户端配置界面。

 

图1-8 SSH客户端配置界面(1

在“Host Nameor IP address)”文本框中输入SSH服务器的IP地址(要求SSH服务器的IP地址与SSH客户端主机的路由可达)。

3. 选择远程连接协议为SSH

图1-8,在“Protocol”选择栏中选择“SSH”。

4. 选择SSH版本

单击SSH客户端配置界面左边目录树(“Category”)中的连接协议(“Connection”)中的“SSH”,出现如图1-9的界面。

图1-9 SSH客户端配置界面(2

在“Protocol options”区域中,选择“Preferred SSH protocol version”参数的值为2

&  说明:

对于有些SSH客户端软件,例如Tectia client客户端软件,只有在选择ssh1版本才支持DES算法,选择ssh2版本则不支持DES算法。PuTTY客户端软件在选择了DES后,可以在ssh2版本中支持DES算法协商。

 

5. RSA方式打开SSH连接

如果用户需要RSA认证,就必须指定RSA私钥文件。如果用户只需要password认证,则不需要指定RSA私钥文件。

图1-9,单击“SSH”下面的“Auth”(认证),出现如图1-10的界面。

图1-10 SSH客户端配置界面(3

单击<Browse…>按钮,弹出文件选择窗口。选择私钥文件,并确定即可。

6. 以口令方式打开SSH连接

(1)        图1-10中,单击<Open>按钮,出现如图1-11所示的SSH客户端界面,如果连接正常则会提示用户输入用户名及密码。

图1-11 SSH客户端界面

(2)        输入正确的用户名和密码,即可成功进行SSH登录连接。

(3)        退出登录,执行命令quit即可。

1.1.4  配置设备作为SSH客户端

当设备作为SSH客户端和服务器端连接时,可以设置SSH客户端对访问的SSH服务器是否进行首次认证。

l              所谓首次认证,是指当SSH客户端首次访问服务器,而客户端没有配置服务器端的主机公钥时,用户可以选择继续访问该服务器,并在客户端保存该主机公钥;当用户下次访问该服务器时,就以保存的主机公钥来认证该服务器。

l              如果不支持首次认证,则当客户端没有配置服务器端的主机公钥时,客户端将拒绝访问该服务器。用户必须事先将要访问的服务器端的主机公钥配置在本地,同时指定要连接的服务器端的主机公钥名称,以便客户端对连接的服务器进行认证。

1. 配置支持首次认证的SSH客户端

表1-8 配置支持首次认证的SSH客户端

操作

命令

说明

进入系统视图

system-view

-

设置对ssh服务器进行首次认证

ssh client first-time enable

可选

缺省情况下,客户端进行首次认证

建立SSH客户端和服务器端的连接

ssh2 { host-ip | host-name } [ port-num ] [ prefer_kex { dh_group1 | dh_exchange_group } | prefer_ctos_cipher { des | aes128 } | prefer_stoc_cipher { des | aes128 } | prefer_ctos_hmac { sha1 | sha1_96 | md5 | md5_96 } | prefer_stoc_hmac { sha1 | sha1_96 | md5 | md5_96 } ] *

必选

该配置用来启动SSH客户端和服务器端建立连接,并指定客户端和服务器的首选密钥交换算法、首选加密算法和首选HMAC算法

 

2. 配置不支持首次认证的SSH客户端

表1-9 配置不支持首次认证的SSH客户端

操作

命令

说明

进入系统视图

system-view

-

设置SSH客户端对访问的SSH服务器不进行首次认证

undo ssh client first-time

必选

缺省情况下,客户端进行首次认证

进入公共密钥视图

rsa peer-public-key keyname

可选

进入公共密钥编辑视图

public-key-code begin

-

配置服务器端的公钥

直接输入公钥内容

-

在输入公钥内容时,字符之间可以有空格,也可以按回车键继续输入数据,所配置的公钥必须是按公钥格式编码的十六进制字符串

退回公共密钥视图

public-key-code end

-

退出视图时,保存输入的公钥数据

退回系统视图

peer-public-key end

-

在客户端上指定要连接的服务器端的主机公钥名称

ssh client { server-ip | server-name } assign rsa-key keyname

必选

建立SSH客户端和服务器端的连接,并指定客户端和服务器的首选密钥交换算法、首选加密算法和首选HMAC算法

ssh2 { host-ip | host-name } [ port-num ] [ prefer_kex { dh_group1 | dh_exchange_group } | prefer_ctos_cipher { des | aes128 } | prefer_stoc_cipher { des | aes128 } | prefer_ctos_hmac { sha1 | sha1_96 | md5 | md5_96 } | prefer_stoc_hmac { sha1 | sha1_96 | md5 | md5_96 } ] *

必选

 

1.1.5  SSH显示和维护

在完成上述配置后,在任意视图下执行display命令,可以显示配置后SSH的运行情况,通过查看显示信息验证配置的效果。

表1-10 SSH显示和维护

操作

命令

显示服务器端主机密钥对和服务器密钥对的公钥部分

display rsa local-key-pair public

显示客户端的指定RSA密钥对的公钥部分

display rsa peer-public-key [ brief | name keyname ]

显示SSH状态信息和会话信息

display ssh server { status | session }

显示SSH用户信息

display ssh user-information [ username ]

显示客户端保存的服务器端的主机公钥和服务器的对应关系

display ssh server-info

 

1.1.6  SSH Server典型配置举例

1. 组网需求

图1-13所示,PC终端(SSH Client)上运行支持SSH2.0的客户端软件,与交换机(SSH Server)建立本地连接,更大限度地保证数据信息交换的安全。

2. 组网图

图1-12 SSH Server配置组网图

3. 配置步骤

以下将根据登录认证方式的不同分别介绍配置步骤,但开始任何一种配置之前,首先要生成RSA主机密钥对。

<H3C> system-view

[H3C] rsa local-key-pair create

其次,必须在交换机上创建VLAN接口,并为其分配IP地址,作为客户端连接的SSH服务器地址。

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip address 192.168.0.1 255.255.255.0

[H3C-Vlan-interface1] quit

最后,客户端主机的IP地址必须同交换机上的VLAN接口的IP地址位于同一个网段,这里设置为“192.168.0.2”。

(1)        设置用户登录认证方式。

下面按照两种认证方式分别进行配置。

l              password认证。

# 设置用户接口上的认证模式为AAA认证。

[H3C] user-interface vty 0 4

[H3C-ui-vty0-4] authentication-mode scheme

# 设置用户接口上支持SSH协议。

[H3C-ui-vty0-4] protocol inbound ssh

[H3C-ui-vty0-4] quit

# 指定用户client001的登录协议为SSH,能访问的命令级别为3,密码为abc

[H3C] local-user client001

[H3C-luser-client001] password simple abc

[H3C-luser-client001] service-type ssh level 3

[H3C-luser-client001] quit

[H3C] ssh user client001 authentication-type password

&  说明:

SSH的认证超时时间、重试次数可以采用系统默认值。完成这些配置以后,您就可以在与交换机连接的其它终端上,运行支持SSH 2.0的客户端软件,以用户名client001,密码abc,访问交换机了。

 

l              RSA公钥认证。

# 设置用户接口上的认证模式为AAA认证。

[H3C] user-interface vty 0 4

[H3C-ui-vty0-4] authentication-mode scheme

# 设置用户接口上支持SSH协议。

[H3C-ui-vty0-4] protocol inbound ssh

# 设置用户能访问的命令级别为3

[H3C-ui-vty0-4] user privilege level 3

[H3C-ui-vty0-4] quit

# 指定用户client001的认证方式为RSA

[H3C] ssh user client001 authentication-type rsa

# 在支持SSH2.0的客户端软件上,随机产生RSA密钥对,并按如下方式将RSA公钥(此处的RSA公钥是指用SSHKEY.EXE软件进行PKCS编码后的16进制字符串)配置到SSH服务器上指定的rsa peer-public-key中。

# 在服务器端配置客户端的公钥,指定公钥名称为Switch001

[H3C] rsa peer-public-key Switch001

[H3C-rsa-public-key] public-key-code begin

[H3C-rsa-key-code] 308186028180739A291ABDA704F5D93DC8FDF84C427463

[H3C-rsa-key-code] 1991C164B0DF178C55FA833591C7D47D5381D09CE82913

[H3C-rsa-key-code] D7EDF9C08511D83CA4ED2B30B809808EB0D1F52D045DE4

[H3C-rsa-key-code] 0861B74A0E135523CCD74CAC61F8E58C452B2F3F2DA0DC

[H3C-rsa-key-code] C48E3306367FE187BDD944018B3B69F3CBB0A573202C16

[H3C-rsa-key-code] BB2FC1ACF3EC8F828D55A36F1CDDC4BB45504F020125

[H3C-rsa-key-code] public-key-code end

[H3C-rsa-public-key] peer-public-key end

# 为用户client001指定公钥Switch001

[H3C] ssh user client001 assign rsa-key Switch001

对于RSA认证,不仅需要在客户端上配置SSH服务器的IP地址、协议类型、版本,还需要指定RSA私钥文件(由客户端软件随机产生)。打开SSH连接后按提示输入用户名即可进入交换机的配置界面。

1.1.7  SSH Client配置举例

1. 组网需求

图1-14所示:

l              交换机Switch A作为SSH客户端,用户名client001

l              交换机Switch B作为SSH服务器,IP地址为10.165.87.136

2. 组网图

图1-13 SSH Client配置组网图

3. 配置步骤

(1)        配置SwitchB

# 要生成RSA主机密钥对

<H3C> system-view

[H3C] rsa local-key-pair create

# 在交换机上创建VLAN接口,并为其分配IP地址,作为客户端连接的SSH服务器地址。

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip address 10.165.87.136 255.255.255.0

[H3C-Vlan-interface1] quit

# 设置SSH客户端登录用户界面的认证方式为AAA认证。

[H3C] user-interface vty 0 4

[H3C-ui-vty0-4] authentication-mode scheme

# 设置交换机上远程用户登录协议为SSH

[H3C-ui-vty0-4] protocol inbound ssh

[H3C-ui-vty0-4] quit

# 指定用户client001的登录协议为SSH,能访问的命令级别为3,密码为abc

[H3C] local-user client001

[H3C-luser-client001] password simple abc

[H3C-luser-client001] service-type ssh level 3

[H3C-luser-client001] quit

# 配置SSH用户认证方式为passwordSSH的认证超时时间、尝试次数以及服务器密钥更新时间可以采取系统缺省值。

[H3C] ssh user client001 authentication-type password

&  说明:

如果配置SSH用户的认证方式为RSA,则需要配置SwitchA的主机公钥。具体配置方法可以参见“1.1.6  SSH Server典型配置举例”中的配置SSH用户认证方式为RSA

 

(2)        配置SwitchA

# SwitchA上的VLAN接口的IP地址必须同SwitchB上的VLAN接口的IP地址位于同一个网段,这里设置为“10.165.87.137”。

<H3C> system-view

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip address 10.165.87.137 255.255.255.0

[H3C-Vlan-interface1] quit

# 建立到服务器10.165.87.136SSH连接。

[H3C] ssh2 10.165.87.136

Username: client001

Trying 10.165.87.136 ...

Press CTRL+K to abort

Connected to 10.165.87.136 ...

 

The Server is not authenticated. Do you continue to access it?(Y/N):y

Do you want to save the server's public key?(Y/N):n

Enter password:

 

**************************************************************************

*  Copyright(c) 2004-2007 Hangzhou H3C Tech. Co., Ltd. All rights reserved.*

*  Without the owner's prior written consent,                                  *

*  no decompiling or reverse-engineering shall be allowed.                     *

**************************************************************************

 

<H3C>

 


第2章  SFTP服务

2.1  SFTP服务

2.1.1  SFTP简介

SFTPSecure FTP的简称,是SSH 2.0中新增的功能。

SFTP建立在SSH连接的基础之上,它使得远程用户可以安全地登录交换机设备,进行文件管理和文件传送等操作(如进行系统升级),为数据传输提供了更高的安全保障。同时,由于提供了客户端功能,用户可以从本地设备安全登录到远程设备上,进行文件的安全传输。

2.1.2  SFTP Server配置

SFTP服务器端配置包括:

l              配置用户使用的服务类型;

l              启动SFTP服务器;

l              设置用户连接的空闲超时时间

1. 配置用户使用的服务类型

该配置任务用于设定用户可以使用的SSH服务类型。

表2-1 配置用户可以使用的服务类型

操作

命令

说明

进入系统视图

system-view

-

配置用户可以使用的服务类型

ssh user username service-type { stelnet | sftp | all }

可选

缺省情况下,用户可以使用的的服务类型为stelnet

 

&  说明:

l      没有配置SSH服务类型的用户仅支持stelnet服务类型,要支持SFTP服务的用户必须配置SSH服务类型为sftpall才可登录。

l      使用ssh user username service-type 命令配置用户可以使用的SSH服务类型时,如果该用户不存在,则系统会自动创建一个SSH用户。

 

2. 启动SFTP服务器

表2-2 启动SFTP服务器

操作

命令

说明

进入系统视图

system-view

-

启动SFTP服务器

sftp server enable

必选

缺省情况下,SFTP服务器处于关闭状态。

 

3. 设置用户连接的空闲超时时间

SFTP用户连接的空闲超时时间超过设定的阈值后,系统会自动断开此用户的连接。

表2-3 设置用户连接的空闲超时时间

操作

命令

说明

进入系统视图

system-view

-

设置SFTP用户连接的空闲超时时间

sftp timeout time-out-value

必选

缺省情况下,SFTP用户连接的空闲超时时间为10分钟

 

2.1.3  SFTP Client配置

SFTP客户端的配置包括:

表2-4 SFTP客户端配置

序号

配置项

命令

视图

说明

1

启动SFTP客户端

sftp

系统视图

必选

2

关闭SFTP客户端

bye

SFTP客户端视图

可选

exit

quit

3

SFTP目录操作

改变用户的当前工作目录

cd

SFTP客户端视图

可选

返回上一级目录

cdup

显示当前工作目录

pwd

显示指定目录下的文件列表

dir

ls

创建新目录

mkdir

删除目录

rmdir

4

SFTP文件操作

改变服务器上指定的文件的名字

rename

SFTP客户端视图

可选

下载远程服务器上的文件

get

上传本地文件到远程服务器

put

显示指定目录下的文件列表

dir

ls

删除服务器上文件

delete

remove

5

客户端命令帮助

help

SFTP客户端视图

可选

 

1. 启动SFTP客户端

该配置任务用来启动SFTP客户端程序,与远程SFTP服务器建立连接,并进入到SFTP client视图

表2-5 启动SFTP客户端

操作

命令

说明

进入系统视图

system-view

-

启动SFTP客户端

sftp { host-ip | host-name } [ port-num ] [ prefer_kex { dh_group1 | dh_exchange_group } | prefer_ctos_cipher { des | aes128 } | prefer_stoc_cipher { des | aes128 } | prefer_ctos_hmac { sha1 | sha1_96 | md5 | md5_96 } | prefer_stoc_hmac { sha1 | sha1_96 | md5 | md5_96 } ] *

必选

 

2. 关闭SFTP客户端

该配置任务用来关闭SFTP客户端程序。

表2-6 关闭SFTP客户端

操作

命令

说明

进入系统视图

system-view

-

进入SFTP客户端视图

sftp { host-ip | host-name }

-

关闭SFTP客户端

bye

byeexitquit三条命令的功能相同

exit

quit

 

3. SFTP目录操作

SFTP目录操作包括:改变或显示当前的工作目录,创建或删除目录,显示指定目录下的文件或目录信息。

表2-7 SFTP目录操作

操作

命令

说明

进入系统视图

system-view

可选

进入SFTP客户端视图

sftp { host-ip | host-name }

改变用户的当前工作目录

cd remote-path

返回上一级目录

cdup

显示用户的当前工作目录

pwd

显示指定目录下的文件列表

dir [ -a | -l ] [ remote-path ]

可选

dirls两条命令的作用相同

ls [ -a | -l ] [ remote-path ]

在服务器上创建新的目录

mkdir remote-path

可选

删除服务器上的目录

rmdir remote-path&<1-10>

 

4. SFTP文件操作

SFTP文件操作包括:改变文件名、下载文件、上传文件、显示文件列表、删除文件。

表2-8 SFTP文件操作

操作

命令

说明

进入系统视图

system-view

可选

进入SFTP客户端视图

sftp { host-ip | host-name }

改变服务器上指定的文件的名字

rename old-name new-name

下载远程服务器上的文件

get remote-file [ local-file ]

上传本地文件到远程服务器

put local-file [ remote-file ]

显示指定目录下的文件列表

dir [ -a | -l ] [ remote-path ]

可选

dirls两条命令的作用相同

ls [ -a | -l ] [ remote-path ]

删除服务器上文件

delete remote-file&<1-10>

可选

deleteremove两条命令的功能相同

remove remote-file&<1-10>

 

5. 显示帮助信息

本配置用于显示相关命令的帮助信息,如命令格式,参数配置等。

表2-9 显示客户端命令的帮助信息

操作

命令

说明

进入系统视图

system-view

-

进入SFTP客户端视图

sftp { host-ip | host-name }

-

显示客户端命令的帮助信息

help [ all | command-name ]

可选

 

2.1.4  SFTP配置举例

1. 组网需求

图2-1所示:SwitchASwitchB之间建立SSH连接,SwitchA作为SFTP客户端登录到SwitchB,进行文件管理和文件传送等操作,用户名为client001、密码为abc

2. 组网图

图2-1 SFTP配置组网图

3. 配置步骤

(1)        配置服务器端Switch B

<H3C>system-view

[H3C] rsa local-key-pair create

# 在交换机上创建VLAN接口,并为其分配IP地址,作为客户端连接的SSH服务器地址。

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip address 192.168.0.1 255.255.255.0

[H3C-Vlan-interface1] quit

# 设置SSH客户端登录用户界面的认证方式为AAA认证。

[H3C] user-interface vty 0 4

[H3C-ui-vty0-4] authentication-mode scheme

# 设置交换机上远程用户登录协议为SSH

[H3C-ui-vty0-4] protocol inbound ssh

[H3C-ui-vty0-4] quit

# 创建本地用户client001

[H3C] local-user client001

[H3C-luser-client001] password simple abc

[H3C-luser-client001] service-type ssh

[H3C-luser-client001] quit

# 配置SSH用户认证方式为passwordSSH的认证超时时间、尝试次数以及服务器密钥更新时间可以采取系统默认值。

[H3C] ssh user client001 authentication-type password

&  说明:

如果配置SSH用户的认证方式为RSA,则需要配置SwitchA的主机公钥。具体配置方法可以参见“1.1.6  SSH Server典型配置举例”中的配置SSH用户认证方式为RSA

 

# 指定用户的服务类型为SFTP

[H3C] ssh user client001 service-type sftp

# 启动SFTP服务器。

[H3C] sftp server enable

(2)        配置客户端Switch A

# SwitchA上的VLAN接口的IP地址必须同SwitchB上的VLAN接口的IP地址位于同一个网段,这里设置为“192.168.0.2”。

<H3C> system-view

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip address 192.168.0.2 255.255.255.0

[H3C-Vlan-interface1] quit

# 与远程SFTP服务器建立连接,进入SFTP client视图。

[H3C] sftp 192.168.0.1

Input Username: client001

Trying 192.168.0.1 ...

Press CTRL+K to abort

Connected to 192.168.0.1 ...

 

The Server is not authenticated. Do you continue access it? [Y/N]:y

Do you want to save the server's public key? [Y/N]:n

Enter password:

 

sftp-client>

# 显示服务器的当前目录,删除文件z,并检查此目录是否删除成功。

sftp-client> dir

-rwxrwxrwx   1 noone    nogroup      1759 Aug 23 06:52 config.cfg

-rwxrwxrwx   1 noone    nogroup       225 Aug 24 08:01 pubkey2

-rwxrwxrwx   1 noone    nogroup       283 Aug 24 07:39 pubkey1

drwxrwxrwx   1 noone    nogroup         0 Sep 01 06:22 new

-rwxrwxrwx   1 noone    nogroup       225 Sep 01 06:55 pub

-rwxrwxrwx   1 noone    nogroup         0 Sep 01 08:00 z

sftp-client> delete z

The following files will be deleted:

flash:/z

Are you sure to delete it?(Y/N):y

This operation may take a long time.Please wait...

 

File successfully Removed

sftp-client> dir

-rwxrwxrwx   1 noone    nogroup      1759 Aug 23 06:52 config.cfg

-rwxrwxrwx   1 noone    nogroup       225 Aug 24 08:01 pubkey2

-rwxrwxrwx   1 noone    nogroup       283 Aug 24 07:39 pubkey1

drwxrwxrwx   1 noone    nogroup         0 Sep 01 06:22 new

-rwxrwxrwx   1 noone    nogroup       225 Sep 01 06:55 pub

# 新增目录new1,并检查是否新目录是否创建成功。

sftp-client> mkdir new1

New directory created

sftp-client> dir

-rwxrwxrwx   1 noone    nogroup      1759 Aug 23 06:52 config.cfg

-rwxrwxrwx   1 noone    nogroup       225 Aug 24 08:01 pubkey2

-rwxrwxrwx   1 noone    nogroup       283 Aug 24 07:39 pubkey1

drwxrwxrwx   1 noone    nogroup         0 Sep 01 06:22 new

-rwxrwxrwx   1 noone    nogroup       225 Sep 01 06:55 pub

drwxrwxrwx   1 noone    nogroup         0 Sep 02 06:30 new1

# 将目录名new1更名为new2,并查看是否更名成功。

sftp-client> rename new1 new2

File successfully renamed

sftp-client> dir

-rwxrwxrwx   1 noone    nogroup      1759 Aug 23 06:52 config.cfg

-rwxrwxrwx   1 noone    nogroup       225 Aug 24 08:01 pubkey2

-rwxrwxrwx   1 noone    nogroup       283 Aug 24 07:39 pubkey1

drwxrwxrwx   1 noone    nogroup         0 Sep 01 06:22 new

-rwxrwxrwx   1 noone    nogroup       225 Sep 01 06:55 pub

drwxrwxrwx   1 noone    nogroup         0 Sep 02 06:33 new2

# 从服务器上下载文件pubkey2到本地,并更名为public

sftp-client> get pubkey2 public

This operation may take a long time, please wait...

 

Remote  file:flash:/pubkey2 --->  Local file: public..

 

Downloading file successfully ended

# 将本地文件pu上传到服务器上,更名为puk,并查看上传是否成功。

sftp-client> put pu puk

This operation may take a long time, please wait...

Local file: pu --->  Remote file: flash:/puk

Uploading file successfully ended

sftp-client> dir

-rwxrwxrwx   1 noone    nogroup      1759 Aug 23 06:52 config.cfg

-rwxrwxrwx   1 noone    nogroup       225 Aug 24 08:01 pubkey2

-rwxrwxrwx   1 noone    nogroup       283 Aug 24 07:39 pubkey1

drwxrwxrwx   1 noone    nogroup         0 Sep 01 06:22 new

drwxrwxrwx   1 noone    nogroup         0 Sep 02 06:33 new2

-rwxrwxrwx   1 noone    nogroup       283 Sep 02 06:35 pub

-rwxrwxrwx   1 noone    nogroup       283 Sep 02 06:36 puk

sftp-client>

# 退出SFTP

sftp-client> quit

Bye

[H3C]

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们