26-SSH终端服务操作
本章节下载 (5.35 MB)
目 录
SSH是Secure Shell(安全外壳)的简称。当用户通过一个不能保证安全的网络环境远程登录到交换机时,SSH特性可以提供安全的信息保障和强大的认证功能,以保护交换机不受诸如IP地址欺诈、明文密码截取等攻击。
交换机作为SSH Server,可以接受多个SSH客户的连接,目前支持的版本是SSH2.0。SSH客户端的功能是允许用户与支持SSH Server的交换机、UNIX主机等建立SSH连接。
下面的图1-1和图1-2,分别表示了客户端与服务器端建立SSH通道的两种方式:
l 通过本地局域网连接
l 通过广域网连接
在整个通讯过程中,为实现SSH认证的安全连接,服务器端与客户端要经历如下五个阶段:
(1) 版本号协商阶段。具体步骤如下:
l 客户端向服务器端发送TCP连接请求。
l TCP连接建立后,服务器端和客户端进行版本号协商。
l 如果协商成功,则进入密钥算法协商阶段,否则服务器端断开TCP连接。
(2) 密钥算法协商阶段。具体步骤如下:
l 服务器端随机生成RSA密钥对,并将公钥部分发送给客户端。
l 客户端以服务器端的公钥和本地随机产生的随机数为参数,计算出会话密钥。
l 客户端使用服务器端的公钥,对用于计算会话密钥的随机数进行加密,回送给服务器端。
l 服务器端使用服务器端的私钥对客户端回送回来的数据进行解密,得到客户端的随机数。
l 服务器端以服务器端的公钥和客户端回送的随机数为参数,使用和客户端相同的算法计算出会话密钥。
通过以上步骤,服务器端和客户端就取得了相同的会话密钥。会话时,两端都使用会话密钥进行加密和解密,保证了数据传送的安全。
(3) 认证方法协商阶段:
l 客户端向服务器端发送自己的用户名信息。
l 服务器端启动对该用户的认证。如果服务器端配置了该用户不需要认证,则直接进入会话请求阶段。
l 客户端采用某种认证方法向服务器端进行认证,直到认证通过或服务器由于超时而断开连接。
& 说明:
SSH提供两种认证方法:口令认证和RSA认证。
(1) 口令认证过程如下:
l 客户端将认证用户名和口令发送给服务器端;
l 服务器端对客户端发送过来的用户名及口令与本地配置信息进行比较,如果两者完全匹配,则通过认证。
(2) RSA认证过程如下:
l 服务器端进行客户端的RSA公钥配置;
l 客户端向服务器端发送自己RSA公钥的成员模数;
l 服务器端对此成员模数进行有效性认证,认证通过后产生一个随机数,使用客户端的RSA公钥加密后回送给客户端;
l 服务器端和客户端均以此随机数和会话号作为参数计算出用于认证的数据;
l 客户端将自己计算出来的认证数据发送给服务器端;
l 服务器端将客户端发送过来的认证数据与本地计算出的认证数据进行比较,如果两者相同,则认证通过。
(4) 会话请求阶段:认证通过后,客户端将向服务器端发送会话请求。服务器端成功处理请求后,SSH进入交互会话阶段。
(5) 交互会话阶段:客户端和服务器端进行数据交互,直到会话结束。
SSH服务器端的配置命令包括:
表1-1 SSH2.0的配置
配置项 |
命令关键字 |
说明 |
设置所在用户界面支持的协议 |
protocol inbound |
请参见“配置所在用户界面支持的协议” |
生成本地RSA密钥对 |
rsa local-key-pair create |
请参见“生成或销毁RSA密钥” |
销毁本地RSA密钥对 |
rsa local-key-pair destroy |
|
为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 |
请参见“为客户端分配公共密钥” |
该配置任务用来指定所在的用户界面支持的协议。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入单一或多个用户界面视图 |
user-interface [ type-keyword ] number [ ending-number ] |
必选 |
配置所在用户界面支持的协议 |
protocol inbound { all |ssh | telnet } |
可选 缺省情况下,系统支持所有的协议,即支持Telnet和SSH |
注意:
l 如果在该用户界面上配置支持的协议是SSH,为确保登录成功,请务必配置登录用户界面的认证方式为authentication-mode scheme(采用AAA认证)。
l 如果用户配置了认证方式为authentication-mode password或authentication-mode none,则无法配置protocol inbound ssh;反之,如果配置了protocol inbound ssh,则认证方式无法配置为authentication-mode password或authentication-mode none。
该配置任务用来生成或销毁服务器端的RSA密钥。RSA密钥的命名方式为交换机名称加上“_Host”。
输入rsa local-key-pair create命令后,系统会提示您输入密钥的长度:
在SSH2.0中,密钥的长度范围为512~2048位。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
产生本地RSA密钥 |
rsa local-key-pair create |
必选 |
销毁本地RSA密钥 |
rsa local-key-pair destroy |
可选 |
注意:
l 生成服务器端的RSA密钥是完成SSH登录的首要操作。
l 此命令只需执行一遍,交换机重启后不必再次执行。
l 如果密钥对在配置前已经存在,则系统会提示是否进行替换。
& 说明:
配置rsa local-key-pair create命令后,使用display rsa local-key-pair public命令可显示公钥(H3C_Host)的相关信息。
该配置任务用来为SSH用户指定认证方式。对于新用户,必须指定其认证方式,否则将无法登录。
表1-4 指定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 authentication-type default命令用来为所有用户配置缺省的认证方式。
l ssh user username authentication-type命令用来为某一用户指定认证方式
当两条命令同时配置,且认证方式不同时,用户username的认证方式以ssh user username authentication-type命令的配置为准。
注意:
l 如果配置为RSA认证方式,则必须在设备上配置客户端用户的RSA公钥。
l 缺省情况下,如果不指定用户的登录认证方式,则用户无法登录。
l 对于password-publickey指定的认证方式,用户必须两种认证都通过才能登录。
l 配置password认证时,username应与AAA中定义的有效用户名一致;配置RSA认证时,username就是SSH本地用户名,不需要在AAA中配置本地用户。
l 如果用户配置的缺省认证方式为password,并且采用AAA本地认证,则还需要使用local-user命令在本地数据库中添加用户名和密码。在这种情况下,可以直接使用local-user命令配置的用户名和密码(配置service-type为ssh)登录SSH服务器,省略掉ssh user命令的配置。
l 如果用户配置的缺省认证方式为password,并且采用远程认证,如RADIUS认证,则可以直接使用远程服务器上的用户名和密码登陆SSH服务器,省略掉ssh user命令的配置。
SSH管理功能包括设置认证超时时间、验证重试次数。设置完成后,可以防止恶意猜测密码等非法行为,更大限度地保证用户SSH连接的安全性。
表1-5 配置服务器上的SSH管理功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置SSH认证超时时间 |
ssh server timeout seconds |
可选 缺省情况下,认证超时时间为60秒 |
设置SSH验证重试次数 |
ssh server authentication-retries times |
可选 缺省情况下,times值为3 |
& 说明:
本配置适用于对SSH用户采用RSA认证的情况。如果设备上对SSH用户配置的认证方式为口令认证,则不必进行本配置。
本配置任务用来在服务器端对客户端的公钥进行配置。配置客户端公钥有如下两种方式。
(1) 手工配置公钥
客户端的操作:
l 在支持SSH2.0的客户端软件上,随机生成RSA密钥对;
l 用SSHKEY.EXE软件将RSA密钥对的公钥部分转换为PKCS标准编码形式。
服务器端的操作:
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入公共密钥视图 |
rsa peer-public-key key-name |
必选 |
进入公共密钥编辑视图 |
public-key-code begin |
在输入密钥数据时,字符之间可以有空格,也可以按回车键继续输入数据,所配置的公钥必须是按公钥格式编码的十六进制字符串 |
退出公共密钥编辑视图,退回到公共密钥视图 |
public-key-code end |
退出视图时,保存输入的公钥数据 |
退出公共密钥视图,退回到系统视图 |
peer-public-key end |
- |
为SSH用户分配公共密钥 |
ssh user username assign rsa-key keyname |
必选 keyname为已经存在的公共密钥名称。使用该命令为用户分配公钥时,如果此用户已经被分配了公钥,那么,以最后一次分配的公钥为准 |
& 说明:
以上方式需要用户在客户端使用软件对公钥进行格式转换,然后在服务器端对转换后的公钥进行手工配置,使用起来相对复杂一些。
客户端的操作:
l 在支持SSH2.0的客户端软件上,随机生成RSA密钥对;
l 通过FTP/TFTP方式,将公钥文件传送到服务器的Flash中。
服务器端的操作:
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
实现公钥格式的转换及公钥的自动配置 |
rsa peer-public-key key-name import sshkey file-name |
密钥文件名filename必须和传送到Flash中的公钥文件名一致 |
& 说明:
以上方式不需要用户手工配置公钥,相对比较简单,建议用户采用。
用户可以通过以下配置,对SSH Server指定源IP地址或者源接口,增加了业务的可管理性。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
为SSH Server指定源IP地址 |
ssh-server source-ip ip-address |
可选 |
为SSH Server指定源接口 |
ssh-server source-interface interface-type interface-number |
可选 |
SSH客户端软件有很多,例如PuTTY、FreeBSD等。SSH客户端要与服务器建立连接,需要做如下基本配置:
l 指定服务器IP地址。
l 选择远程连接协议为SSH。通常客户端可以支持多种远程连接协议,如Telnet、Rlogin、SSH等。要建立SSH连接,必须选择远程连接协议为SSH。
l 选择SSH版本。由于设备目前支持的版本是SSH服务器2.0版本,客户端可以选择2.0或2.0以下版本。
l 指定RSA私钥文件。如果在服务器端配置了SSH用户采用RSA认证,就必须在客户端指定RSA私钥文件。RSA密钥包括公钥和私钥,它们是由客户端软件附带的工具生成的,其中公钥用来配置到服务器(路由器/以太网交换机)中,私钥应用在客户端中。
下面以客户端软件PuTTY、PuTTYGen和SSHKEY为例,说明SSH客户端的配置方法。
运行PuTTYGen.exe,参数栏使用“SSH2(RSA)”,点击“Generate”,产生客户端密钥对。
在产生密钥对的过程中需不停的移动鼠标,鼠标移动仅限于下图蓝色框中除红色标记进程条外的地方,否则进程条的显示会不动,密钥对将停止产生,见图1-4。
密钥对产生后,点击“save public key”,输入存储公钥的文件名public,点击保存。
同理,点击“save private key”存储私钥,弹出警告框,提醒是否保存没做任何保护措施的私钥,点击“是”,输入私钥文件名即可,此处为private,点击保存。
运行SSHKEY.exe,点击“浏览”,选择公钥文件public。然后点击“转换”,即可生成PKCS编码格式的RSA公钥数据。
打开PuTTY.exe程序,出现如下客户端配置界面。
图1-8 SSH客户端配置界面(1)
在“Host Name(or IP address)”文本框中输入SSH服务器的IP地址(要求SSH服务器的IP地址与SSH客户端主机的路由可达),如10.110.28.10。
如图1-8,在“Protocol”选择栏中选择“SSH”。
单击SSH客户端配置界面左边目录树(“Category”)中的连接协议(“Connection”)中的“SSH”,出现如图1-9的界面。
图1-9 SSH客户端配置界面(2)
在“Protocol options”区域中,选择“Preferred SSH protocol version”参数的值为2。
如果用户需要RSA认证,就必须指定RSA私钥文件。如果用户只需要密码认证,则不需要指定RSA私钥文件。
如图1-9,单击“SSH”下面的“Auth”(认证),出现如图1-10的界面。
图1-10 SSH客户端配置界面(3)
单击<Browse…>按钮,弹出文件选择窗口。选择私钥文件,并确定即可。
(1) 在图1-10中,单击<Open>按钮,出现如图1-11所示的SSH客户端界面,如果连接正常则会提示用户输入用户名及密码。
图1-11 SSH客户端界面
(2) 输入正确的用户名和密码,即可成功进行SSH登录连接。
(3) 退出登录,执行命令quit即可。
l 配置对SSH服务器进行首次认证
l 为服务器端分配公共密钥
l 建立SSH客户端和服务器端的连接
详细的配置过程如下表1-9所示。
表1-9 配置SSH客户端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置对ssh服务器进行首次认证 |
ssh client first-time enable |
可选 缺省情况下,客户端进行首次认证 当客户端不进行首次认证时,必须为服务器分配公共密钥 |
为服务器分配公共密钥 |
ssh client server-ip assign rsa-key keyname |
可选 该配置用来在客户端上指定要连接的服务器的公钥,以便客户端认证连接的服务器是否为可信赖的服务器 |
建立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算法 |
& 说明:
首次认证,是指当SSH客户端首次访问的服务器公钥在本地不存在时,用户将选择继续访问该服务器,并在本地保存该服务器的公钥;当用户下次访问该服务器时,就以保存的公钥来认证该服务器。
用户可以通过以下配置,对SSH2 Client指定源IP地址或者源接口,增加了业务的可管理性。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
为SSH2 Client指定源IP地址 |
ssh2 source-ip ip-address |
可选 |
为SSH2 Client指定源接口 |
ssh2 source-interface interface-type interface-number |
可选 |
完成上述配置后,在任意视图下执行display命令,可以显示配置SSH后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-11 SSH配置显示
操作 |
命令 |
说明 |
显示服务器端主机密钥对和服务器密钥对的公钥部分 |
display rsa local-key-pair public |
display命令可以在任意视图下执行 |
显示客户端的指定RSA密钥对的公钥部分 |
display rsa peer-public-key [ brief | name keyname ] |
|
显示SSH状态信息和会话信息 |
display ssh server { status | session } |
|
显示SSH用户信息 |
display ssh user-information [ username ] |
|
显示当前为SSH Server设置的源IP地址 |
display ssh-server source-ip |
|
显示当前为SSH2 Client设置的源IP地址 |
display ssh2 source-ip |
|
显示客户端保存的服务器端的主机公钥和服务器的对应关系 |
display ssh server-info |
如图1-12所示,PC终端(SSH Client)上运行支持SSH2.0的客户端软件,与交换机(SSH Server)建立本地连接,更大限度地保证数据信息交换的安全。
图1-12 SSH Server配置组网图
(1) 生成本地RSA密钥。
<H3C>system-view
[H3C] rsa local-key-pair create
& 说明:
如果此前已完成生成本地密钥对的配置,可以略过此步操作。
(2) 设置用户登录认证方式。
下面按照两种认证方式分别进行配置。
第一种方式: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,认证方式为password,认证密码为abc。
[H3C] local-user client001
[H3C-luser-client001] password simple abc
[H3C-luser-client001] service-type ssh
[H3C-luser-client001] quit
[H3C] ssh user client001 authentication-type password
& 说明:
SSH的认证超时时间、重试次数可以采用系统默认值。完成以上配置后,用户就可以在与交换机连接的终端上,运行支持SSH2.0的客户端软件,以用户名client001,密码abc,访问交换机了。
第二种方式:RSA公钥认证。
# 设置用户接口上的认证模式为AAA认证。
[H3C] user-interface vty 0 4
[H3C-ui-vty0-4] authentication-mode scheme
# 设置用户接口上支持SSH协议。
[H3C-ui-vty0-4] protocol inbound ssh
# 指定用户client002的登录协议为SSH,认证方式为RSA公钥认证。
[H3C] ssh user client002 authentication-type rsa
# 在支持SSH2.0的客户端软件上,随机产生RSA密钥对,并将公钥部分传送到服务器端。
# 在服务器端配置客户端的公钥,指定公钥名称为H3C002。
[H3C] rsa peer-public-key H3C002
[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
[H3C] ssh user client002 assign rsa-key H3C002
# 在保留有RSA私钥的终端上启动SSH客户端软件,并进行相应的配置,即可建立SSH连接。
如图1-13所示:
l 交换机Switch A作为SSH客户端,用户名client003;
l 交换机Switch B作为SSH服务器,IP地址为10.165.87.136。
图1-13 SSH Client配置组网图
SSH服务器端的配置请参考1.1.6 SSH Server配置举例中相关部分,SSH客户端的配置如下:
(1) 配置客户端对服务器不进行首次认证。
[H3C] undo ssh client first-time
(2) 在客户端配置服务器公钥。
[H3C] rsa peer-public-key public
[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
[H3C] ssh client 10.165.87.136 assign rsa-key public
(3) 启动SSH客户端。
下面分别按照服务器的两种认证方式进行配置。
l 采用password认证,按照缺省的加密算法启动。
[H3C] ssh2 10.165.87.136
username: client003
Trying 10.165.87.136
Press CTRL+K to abort
Connected to 10.165.87.136...
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>
l 采用RSA公钥认证,按照所设置的相应加密算法启动前,还需要将客户端的公钥,配置到服务器端。并在服务器端指定用户的公钥。
[H3C] ssh2 10.165.87.136 22 perfer_kex dh_group1 perfer_ctos_cipher des perfer_ctos_hmac md5 perfer_stoc_hmac md5
username: client003
Trying 10.165.87.136...
Press CTRL+K to abort
Connected to 10.165.87.136...
**************************************************************************
* 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>
SFTP是Secure FTP的简称,是SSH2.0中新增的功能。
SFTP建立在SSH连接的基础之上,它使得远程用户可以安全地登录交换机设备,进行文件管理和文件传送等操作(如进行系统升级),为数据传输提供了更高的安全保障。同时,由于提供了客户端功能,用户可以从本地设备安全登录到远程设备上,进行文件的安全传输。
SFTP服务器端配置包括:
l 配置用户使用的服务类型;
l 启动SFTP服务器;
l 设置用户连接的空闲超时时间;
该配置任务用于设定用户可以使用的SSH服务类型。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置用户可以使用的服务类型 |
ssh user username service-type { stelnet | sftp | all } |
可选 缺省情况下,用户可以使用的的服务类型为stelnet |
表1-13 启动SFTP服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动SFTP服务器 |
sftp server enable |
必选 缺省情况下,SFTP服务器处于关闭状态 |
当SFTP用户连接的空闲时间超过设定的阈值后,系统会自动断开此用户的连接。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置SFTP用户连接的空闲超时时间 |
sftp timeout time-out-value |
必选 缺省情况下,SFTP用户连接的空闲超时时间为10分钟 |
SFTP客户端的配置包括:
表1-15 SFTP客户端配置
操作 |
命令关键字 |
视图 |
说明 |
|
启动SFTP客户端 |
sftp |
系统视图 |
必选 |
|
关闭SFTP客户端 |
bye |
SFTP客户端视图 |
可选 |
|
exit |
||||
quit |
||||
SFTP目录操作 |
改变用户的当前工作目录 |
cd |
SFTP客户端视图 |
可选 |
返回上一级目录 |
cdup |
|||
显示当前工作目录 |
pwd |
|||
显示指定目录下的文件列表 |
dir |
|||
ls |
||||
创建新目录 |
mkdir |
|||
删除目录 |
rmdir |
|||
SFTP文件操作 |
改变服务器上指定的文件的名字 |
rename |
SFTP客户端视图 |
可选 |
下载远程服务器上的文件 |
get |
|||
上传本地文件到远程服务器 |
put |
|||
显示指定目录下的文件列表 |
dir |
|||
ls |
||||
删除服务器上文件 |
delete |
|||
remove |
||||
客户端命令帮助 |
help |
SFTP客户端视图 |
可选 |
该配置任务用来启动SFTP客户端,与远程SFTP服务器建立连接,并进入到SFTP client视图。
表1-16 启动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 } ] * |
必选 |
该配置任务用来关闭SFTP客户端程序。
表1-17 关闭SFTP客户端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入SFTP客户端视图 |
sftp { host-ip | host-name } |
- |
关闭SFTP客户端 |
bye |
bye,exit和quit三条命令的功能相同 |
exit |
||
quit |
SFTP目录操作包括:改变或显示当前的工作目录,创建或删除目录,显示指定目录下的文件或目录信息。
表1-18 SFTP目录操作
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
可选 |
进入SFTP客户端视图 |
sftp { host-ip | host-name } |
|
改变用户的当前工作目录 |
cd remote-path |
|
返回上一级目录 |
cdup |
|
显示用户的当前工作目录 |
pwd |
|
显示指定目录下的文件列表 |
dir [ remote-path ] |
可选 dir和ls两条命令的作用相同 |
ls [ remote-path ] |
||
在服务器上创建新的目录 |
mkdir remote-path |
可选 |
删除服务器上的目录 |
rmdir remote-path |
SFTP文件操作包括:改变文件名、下载文件、上传文件、显示文件列表、删除文件。
表1-19 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 [ remote-path ] |
可选 dir和ls两条命令的作用相同 |
ls [ remote-path ] |
||
删除服务器上文件 |
delete remote-file |
可选 delete和remove两条命令的功能相同 |
remove remote-file |
本配置用于显示相关命令的帮助信息,如命令格式,参数配置等。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入SFTP客户端视图 |
sftp { host-ip | host-name } |
- |
显示客户端命令的帮助信息 |
help [ command-name ] |
可选 |
用户可以通过以下配置,对SFTP Client指定源IP地址或者源接口,增加了业务的可管理性。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
为sftp client指定源IP地址 |
sftp source-ip ip-address |
可选 |
为sftp client指定源接口 |
sftp source-interface interface-type interface-number |
可选 |
显示当前为SFTP Client设置的源IP地址 |
display sftp source-ip |
可选 可以在任意视图下执行 |
如图1-14所示:
l Switch A和Switch B已经建立起安全的SSH连接;
l Switch B作为SFTP服务器,IP地址为10.111.27.91;
l Switch A作为SFTP客户端;
l SFTP的用户名为abc,密码为hello。
图1-14 SFTP配置组网图
(1) 配置服务器端Switch B。
# 启动SFTP服务器。
[H3C] sftp server enable
# 指定用户的服务类型为SFTP。
[H3C] ssh user abc service-type sftp
(2) 配置客户端Switch A。
# 与远程SFTP服务器建立连接,进入SFTP client视图。
[H3C] sftp 10.111.27.91
# 显示服务器的当前目录,删除文件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 File 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
Remote file:flash:/pubkey2 ---> Local file: public..
Downloading file successfully ended
# 将本地文件pu上传到服务器上,更名为puk,并查看上传是否成功。
sftp-client> put pu puk
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!