13-SSH配置
本章節下載: 13-SSH配置 (965.66 KB)
目 錄
1.4.3 配置Stelnet客戶端發送SSH報文使用的源IP地址
1.4.5 Stelnet客戶端刪除保存在公鑰文件中的服務器公鑰
1.4.6 與遠程的Stelnet服務器建立基於Suite B算法集的連接
1.5.3 配置SFTP客戶端發送SFTP報文使用的源IP地址
1.5.6 與遠程的SFTP服務器建立基於Suite B算法集的連接
1.6.6 與遠程的SCP服務器建立基於Suite B算法集的連接
1.9.1 設備作為Stelnet服務器配置舉例(password認證)
1.9.2 設備作為Stelnet服務器配置舉例(publickey認證)
1.9.3 設備作為Stelnet客戶端配置舉例(password認證)
1.9.4 設備作為Stelnet客戶端配置舉例(publickey認證)
1.10.1 設備作為SFTP服務器配置舉例(password認證)
1.10.2 設備作為SFTP客戶端配置舉例(publickey認證)
1.11.1 SCP文件傳輸配置舉例(password認證)
SSH是Secure Shell(安全外殼)的簡稱,是一種在不安全的網絡環境中,通過加密機製和認證機製,實現安全的遠程訪問以及文件傳輸等業務的網絡安全協議。
SSH協議采用了典型的客戶端/服務器模式,並基於TCP協議協商建立用於保護數據傳輸的會話通道。SSH協議有兩個版本,SSH1.x和SSH2.0(本文簡稱SSH1和SSH2),兩者互不兼容。SSH2在性能和安全性方麵比SSH1有所提高。
設備既可以支持SSH服務器功能,接受多個SSH客戶端的連接,也可以支持SSH客戶端功能,允許用戶通過設備與遠程SSH服務器建立SSH連接。
目前,設備支持以下幾種SSH應用。
· Secure Telnet:簡稱Stelnet,可提供安全可靠的網絡終端訪問服務,使得用戶可以安全登錄到遠程設備,且能保護遠程設備不受諸如IP地址欺詐、明文密碼截取等攻擊。設備可支持Stelnet服務器、Stelnet客戶端功能。
· Secure FTP:簡稱SFTP,基於SSH2,可提供安全可靠的網絡文件傳輸服務,使得用戶可以安全登錄到遠程設備上進行文件管理操作,且能保證文件傳輸的安全性。設備可支持SFTP服務器、SFTP客戶端功能。
· Secure Copy:簡稱SCP,基於SSH2,可提供安全的文件複製功能。設備可支持SCP服務器、SCP客戶端功能。
· NETCONF over SSH:基於SSH2,提供通過SSH連接給設備下發NETCONF指令的功能,使得用戶可以安全登錄到遠程設備並直接進入到設備的NETCONF係統中進行配置和管理操作。設備僅支持作為NETCONF over SSH連接的服務器端。關於NETCONF係統的詳細介紹,請參見“網絡管理和監控配置指導”中的“NETCONF”。
目前,設備作為Stelnet服務器、SFTP服務器、SCP服務器時,非FIPS模式下支持SSH2和SSH1兩個版本,FIPS模式下隻支持SSH2版本;設備作為SSH客戶端時,隻支持SSH2版本;設備作為NETCONF over SSH服務器端時,隻支持SSH2版本。
本小節以SSH2為例介紹SSH工作的過程,具體分為表1-1所述的幾個階段。
表1-1 SSH工作過程
階段 |
說明 |
連接建立 |
SSH服務器在22號端口偵聽客戶端的連接請求,在客戶端向服務器端發起連接請求後,雙方建立一個TCP連接 |
版本協商 |
雙方通過版本協商確定最終使用的SSH版本號 |
算法協商 |
SSH支持多種算法,雙方根據本端和對端支持的算法,協商出最終用於產生會話密鑰的密鑰交換算法、用於數據信息加密的加密算法、用於進行數字簽名和認證的公鑰算法,以及用於數據完整性保護的HMAC算法 |
密鑰交換 |
雙方通過DH(Diffie-Hellman Exchange)交換,動態地生成用於保護數據傳輸的會話密鑰和用來標識該SSH連接的會話ID,並完成客戶端對服務器端的身份認證 |
用戶認證 |
SSH客戶端向服務器端發起認證請求,服務器端對客戶端進行認證 |
會話請求 |
認證通過後,SSH客戶端向服務器端發送會話請求,請求服務器提供某種類型的服務(目前支持Stelnet、SFTP、SCP、NETCONF),即請求與服務器建立相應的會話 |
會話交互 |
會話建立後,SSH服務器端和客戶端在該會話上進行數據信息的交互 該階段,用戶在客戶端可以通過粘貼文本內容的方式執行命令,但文本會話不能超過2000字節,且粘貼的命令最好是同一視圖下的命令,否則服務器可能無法正確執行該命令。如果粘貼的文本會話超過2000字節,可以采用將配置文件通過SFTP方式上傳到服務器,利用新的配置文件重新啟動的方式執行這些命令 |
設備作為SSH服務器可提供以下幾種對客戶端的認證方式。
利用AAA(Authentication、Authorization、Accounting,認證、授權和計費)對客戶端身份進行認證。客戶端向服務器發出password認證請求,將用戶名和密碼加密後發送給服務器;服務器將認證請求解密後得到用戶名和密碼的明文,通過本地認證或遠程認證驗證用戶名和密碼的合法性,並返回認證成功或失敗的消息。
客戶端進行password認證時,如果遠程認證服務器要求用戶進行二次密碼認證,則會在發送給服務器端的認證回應消息中攜帶一個提示信息,該提示信息被服務器端透傳給客戶端,由客戶端輸出並要求用戶再次輸入一個指定類型的密碼,當用戶提交正確的密碼並成功通過認證服務器的驗證後,服務器端才會返回認證成功的消息。
SSH1版本的SSH客戶端不支持AAA服務器發起的二次密碼認證。
關於AAA相關內容的介紹,請參考“安全配置指導”中的“AAA”。
該認證方式與password認證方式類似,相較於password認證,該認證方式提供了可變的交互信息。客戶端進行keyboard-interactive認證時,如果遠程認證服務器要求用戶進行交互認證,則遠程認證服務器會在發送給服務器端的認證回應消息中攜帶一個提示信息,該提示信息被服務器端透傳給客戶端,在客戶端終端上顯示並要求用戶輸入指定的信息。當用戶提交正確的信息後,若遠程認證服務器繼續要求用戶輸入其它的信息,則重複以上過程,直到用戶輸入了所有遠程認證服務器要求的信息後,遠程認證服務器才會返回認證成功的消息。
采用數字簽名的方式來認證客戶端。目前,設備上可以利用DSA、ECDSA、RSA三種公鑰算法實現數字簽名。客戶端發送包含用戶名、公鑰和公鑰算法或者攜帶公鑰信息的數字證書的publickey認證請求給服務器端。服務器對公鑰進行合法性檢查,如果合法,則發送消息請求客戶端的數字簽名;如果不合法,則直接發送失敗消息;服務器收到客戶端的數字簽名之後,使用客戶端的公鑰對其進行解密,並根據計算結果返回認證成功或失敗的消息。
關於公鑰相關內容的介紹,請參考“安全配置指導”中的“公鑰管理”。
對於SSH2版本的客戶端,要求同時進行password和publickey兩種方式的認證,且隻有兩種認證均通過的情況下,才認為客戶端身份認證通過;對於SSH1版本的客戶端,隻要通過其中任意一種認證即可。
不指定客戶端的認證方式,客戶端可采用keyboard-interactive認證、password認證或publickey認證,且隻要通過其中任何一種認證即可。
Suite B算法集是一種通用的加密和認證算法集,可滿足高級別的安全標準要求。RFC6239(Suite B Cryptographic Suites for Secure Shell (SSH))中定義了SSH支持SuiteB的相關規範,以及SSH服務器和SSH客戶端在身份認證時的算法要求、協商過程以及認證過程。SSH服務器和SSH客戶端可基於X.509v3證書進行身份認證。
不同安全級別的Suite B算法集中包含的算法不同,具體如表1-2所示。
表1-2 Suite B算法集
安全級別 |
密鑰交換算法 |
加密算法 |
HMAC算法 |
主機公鑰算法 |
128-bit |
ecdh-sha2-nistp256 |
aes128-gcm |
aes128-gcm |
x509v3-ecdsa-sha2-nistp256 |
192-bit |
ecdh-sha2-nistp384 |
aes256-gcm |
aes256-gcm |
x509v3-ecdsa-sha2-nistp384 |
同時采用128-bit和192-bit算法集 |
ecdh-sha2-nistp256、ecdh-sha2-nistp384 |
aes128-gcm、aes256-gcm |
aes128-gcm、aes256-gcm |
x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384 |
設備運行於FIPS模式時,本特性的相關配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
SSH服務器端配置任務如下:
(1) 生成本地密鑰對
(2) (可選)配置SSH服務端口號
(3) 開啟SSH服務器
僅對Stelnet服務器和NETCONF over SSH服務器必選。
(5) 配置客戶端的公鑰
采用publickey、password-publickey或any認證方式時必選。
(6) 配置SSH用戶
¡ 采用keyboard-interactive、publickey、password-publickey或any認證方式時必選。
¡ 采用password認證方式時可選。
(7) (可選)配置SSH管理功能
用戶可通過配置認證參數、連接數控製等,提高SSH連接的安全性。
(8) (可選)配置SSH服務器所屬的PKI域
(9) (可選)釋放已建立的SSH連接
服務器端的DSA、ECDSA或RSA密鑰對有兩個用途,其一是用於在密鑰交換階段生成會話密鑰和會話ID,另外一個是客戶端用它來對連接的服務器進行認證。客戶端驗證服務器身份時,首先判斷服務器發送的公鑰與本地保存的服務器公鑰是否一致,確認服務器公鑰正確後,再使用該公鑰對服務器發送的數字簽名進行驗證。
雖然一個客戶端隻會采用DSA、ECDSA或RSA公鑰算法中的一種來認證服務器,但是由於不同客戶端支持的公鑰算法不同,為了確保客戶端能夠成功登錄服務器,建議在服務器上同時生成DSA、ECDSA和RSA三種密鑰對。
· 生成RSA密鑰對時,將同時生成兩個密鑰對——服務器密鑰對和主機密鑰對。SSH1利用SSH服務器端的服務器公鑰加密會話密鑰,以保證會話密鑰傳輸的安全;SSH2通過DH算法在SSH服務器和SSH客戶端上生成會話密鑰,不需要傳輸會話密鑰,因此SSH2中沒有利用服務器密鑰對。
· 生成DSA密鑰對時,隻生成一個主機密鑰對。SSH1不支持DSA算法。
· 生成ECDSA密鑰對時,隻生成一個主機密鑰對。
SSH僅支持默認名稱的本地DSA、ECDSA或RSA密鑰對,不支持指定名稱的本地DSA、ECDSA或RSA密鑰對。關於密鑰對生成命令的相關介紹請參見“安全命令參考”中的“公鑰管理”。
生成DSA密鑰對時,要求輸入的密鑰模數的長度必須小於2048比特。
SSH服務器支持secp256r1和secp384r1類型的ECDSA密鑰對。
如果服務器端不存在默認名稱的本地RSA密鑰對,則在服務器端執行SSH服務器相關命令行時(包括開啟Stelnet/SFTP/SCP/NETCONF over SSH服務器、配置SSH用戶、以及配置SSH服務器端的管理功能),係統會自動生成一個默認名稱的本地RSA密鑰對。
設備運行於FIPS模式時,服務器端僅支持ECDSA、RSA密鑰對,因此請不要生成本地的DSA密鑰對,否則會導致用戶認證失敗。
(1) 進入係統視圖。
system-view
(2) 生成本地密鑰對。
public-key local create { dsa | ecdsa { secp256r1 | secp384r1 } | rsa }
用戶通過修改SSH服務端口號,可以提高SSH連接的安全性。
(1) 進入係統視圖。
system-view
(2) 配置SSH服務端口號。
ssh server port port-number
· 如果修改端口號前SSH服務是開啟的,則修改端口號後係統會自動重啟SSH服務,正在訪問的用戶將被斷開,用戶需要重新建立SSH連接後才可以繼續訪問。
· 如果使用1~1024之間的知名端口號,有可能會導致其他服務啟動失敗。
缺省情況下,SSH服務的端口號為22。
本功能用於開啟設備上的Stelnet服務器功能,使客戶端能采用Stelnet的方式登錄到設備。
(1) 進入係統視圖。
system-view
(2) 開啟Stelnet服務器功能。
ssh server enable
缺省情況下,Stelnet服務器功能處於關閉狀態。
本功能用於開啟設備上的SFTP服務器功能,使客戶端能采用SFTP的方式登錄到設備。
設備作為SFTP服務器時,不支持SSH1版本的客戶端發起的SFTP連接。
(1) 進入係統視圖。
system-view
(2) 開啟SFTP服務器功能。
sftp server enable
缺省情況下,SFTP服務器處於關閉狀態。
本功能用於開啟設備上的SCP服務器功能,使客戶端能采用SCP的方式登錄到設備。
設備作為SCP服務器時,不支持SSH1版本的客戶端發起的SCP連接。
(1) 進入係統視圖。
system-view
(2) 開啟SCP服務器功能。
scp server enable
缺省情況下,SCP服務器處於關閉狀態。
本功能用於開啟設備上的NETCONF over SSH服務器功能,使得客戶端能夠使用支持NETCONF over SSH連接的客戶端配置工具給設備下發NETCONF指令來實現對設備的訪問。
設備作為NETCONF over SSH服務器時,不支持SSH1版本的客戶端發起的SSH連接。
(1) 進入係統視圖。
system-view
(2) 開啟NETCONF over SSH服務器功能。
netconf ssh server enable
缺省情況下,NETCONF over SSH服務器處於關閉狀態。
關於NETCONF over SSH服務器相關命令的詳細介紹,請見“網絡管理和監控命令參考”中的“NETCONF”。
設備支持的SSH客戶端根據不同的應用可分為:Stelnet客戶端、SFTP客戶端、SCP客戶端和NETCONF over SSH客戶端。
· Stelnet客戶端和NETCONF over SSH客戶端通過VTY(Virtual Type Terminal,虛擬類型終端)用戶線訪問設備。因此,需要配置客戶端登錄時采用的VTY用戶線,使其支持SSH遠程登錄協議。配置將在客戶端下次登錄時生效。
· SFTP客戶端和SCP客戶端不通過用戶線訪問設備,不需要配置登錄時采用的VTY用戶線。
(1) 進入係統視圖。
system-view
(2) 進入VTY用戶線視圖。
line vty number [ ending-number ]
(3) 配置登錄用戶線的認證方式為scheme方式。
authentication-mode scheme
缺省情況下,用戶線認證為password方式。
該命令的詳細介紹,請參見“基礎配置命令參考”中的“登錄設備”。
服務器在采用publickey方式驗證客戶端身份時,首先比較客戶端發送的SSH用戶名、主機公鑰是否與本地配置的SSH用戶名以及相應的客戶端主機公鑰一致,在確認用戶名和客戶端主機公鑰正確後,對客戶端發送的數字簽名進行驗證,該簽名是客戶端利用主機公鑰對應的私鑰計算出的。
因此,在采用publickey、password-publickey或any認證方式時:
· 在服務器端配置客戶端的DSA、ECDSA或RSA主機公鑰。
· 在客戶端為該SSH用戶指定與主機公鑰對應的DSA、ECDSA或RSA主機私鑰(若設備作為客戶端,則在向服務器發起連接時通過指定公鑰算法來實現)。
服務器端可以通過手工配置和從公鑰文件中導入兩種方式來配置客戶端的公鑰。
· 手工配置
事先在客戶端上通過顯示命令或其它方式查看其公鑰信息,並記錄客戶端主機公鑰的內容,然後采用手工輸入的方式將客戶端的公鑰配置到服務器上。手工輸入遠端主機公鑰時,可以逐個字符輸入,也可以一次拷貝粘貼多個字符。這種方式要求手工輸入或拷貝粘貼的主機公鑰必須是未經轉換的DER(Distinguished Encoding Rules,特異編碼規則)公鑰編碼格式。手工配置客戶端的公鑰時,輸入的主機公鑰必須滿足一定的格式要求。H3C設備作為客戶端時,通過display public-key local public命令顯示的公鑰可以作為輸入的公鑰內容;通過其他方式(如public-key local export命令)顯示的公鑰可能不滿足格式要求,導致主機公鑰保存失敗。
· 從公鑰文件導入
事先將客戶端的公鑰文件保存到服務器上(例如,通過FTP或TFTP,以二進製方式將客戶端的公鑰文件保存到服務器),服務器從本地保存的該公鑰文件中導入客戶端的公鑰。導入公鑰時,係統會自動將客戶端公鑰文件轉換為PKCS(Public Key Cryptography Standards,公共密鑰加密標準)編碼形式。
SSH服務器上配置的SSH客戶端公鑰數目建議不要超過20個。
配置客戶端公鑰時建議選用從公鑰文件導入的方式配置遠端主機的公鑰。
(1) 進入係統視圖。
system-view
(2) 進入公鑰視圖。
public-key peer keyname
(3) 配置客戶端的公鑰。
逐個字符輸入或拷貝粘貼公鑰內容。
在輸入公鑰內容時,字符之間可以有空格,也可以按回車鍵繼續輸入數據。保存公鑰數據時,將刪除空格和回車符。具體介紹請參見“安全配置指導”中的“公鑰管理”。
(4) 退出公鑰視圖並保存配置的主機公鑰。
peer-public-key end
(1) 進入係統視圖。
system-view
(2) 從公鑰文件中導入遠端客戶端的公鑰。
public-key peer keyname import sshkey filename
本配置用於創建SSH用戶,並指定SSH用戶的服務類型、認證方式以及對應的客戶端公鑰或數字證書。SSH用戶的配置與服務器端采用的認證方式有關,具體如下:
· 如果服務器采用了publickey認證,則必須在設備上創建相應的SSH用戶,以及同名的本地用戶(用於下發授權屬性:工作目錄、用戶角色)。
· 如果服務器采用了password認證,則必須在設備上創建相應的本地用戶(適用於本地認證),或在遠程服務器(如RADIUS服務器,適用於遠程認證)上創建相應的SSH用戶。這種情況下,並不需要通過本配置創建相應的SSH用戶,如果創建了SSH用戶,則必須保證指定了正確的服務類型以及認證方式。
· 如果服務器采用了keyboard-interactive、password-publickey或any認證,則必須在設備上創建相應的SSH用戶,以及在設備上創建同名的本地用戶(適用於本地認證)或者在遠程認證服務器上創建同名的SSH用戶(如RADIUS服務器,適用於遠程認證)。
對SSH用戶配置的修改,不會影響已經登錄的SSH用戶,僅對新登錄的用戶生效。
FIPS模式下,設備作為SSH服務器不支持any認證和publickey認證方式。
SCP或SFTP用戶登錄時使用的工作目錄與用戶使用的認證方式有關:
· 通過publickey或password-publickey認證登錄服務器的用戶使用的工作目錄均為對應的本地用戶視圖下為該用戶設置的工作目錄。
· 通過keyboard-interactive或password認證登錄服務器的用戶,使用的工作目錄為通過AAA授權的工作目錄。
SSH用戶登錄時擁有的用戶角色與用戶使用的認證方式有關:
· 通過publickey或password-publickey認證登錄服務器的SSH用戶將被授予對應的本地用戶視圖下指定的用戶角色。
· 通過keyboard-interactive或password認證登錄服務器的SSH用戶將被授予遠程AAA服務器或設備本地授權的用戶角色。
除keyboard-interactive和password認證方式外,其它認證方式下均需要指定客戶端的公鑰或證書。
· 對於使用公鑰認證的SSH用戶,服務器端必須指定客戶端的公鑰,且指定的公鑰必須已經存在,公鑰內容的配置請參見“1.3.9 配置客戶端的公鑰”。如果指定了多個用戶公鑰,則在驗證SSH用戶身份時,按照配置順序使用指定的公鑰依次對其進行驗證,隻要用戶通過任意一個公鑰驗證即可。
· 對於使用證書認證的SSH用戶,服務器端必須指定用於驗證客戶端證書的PKI域。為保證SSH用戶可以成功通過認證,通過ssh user命令或ssh server pki-domain命令指定的PKI域中必須存在用於驗證客戶端證書的CA證書。
關於本地用戶以及遠程認證的相關配置請參見“安全配置指導”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 創建SSH用戶,並指定SSH用戶的服務類型和認證方式。
(非FIPS模式)
ssh user username service-type { all | netconf | scp | sftp | stelnet } authentication-type { keyboard-interactive | password | { any | password-publickey | publickey } [ assign { pki-domain domain-name | publickey keyname&<1-6> } ] }
(FIPS模式)
ssh user username service-type { all | netconf | scp | sftp | stelnet } authentication-type { keyboard-interactive | password | password-publickey [ assign { pki-domain domain-name | publickey keyname&<1-6> } ] }
SSH服務器上最多可以創建1024個SSH用戶。
(1) 進入係統視圖。
system-view
(2) 設置SSH服務器兼容SSH1版本的客戶端。
ssh server compatible-ssh1x enable
缺省情況下,SSH服務器不兼容SSH1版本的客戶端。
FIPS模式下,不支持本命令。
(1) 進入係統視圖。
system-view
(2) 開啟SSH算法重協商和密鑰重交換功能。
(非FIPS模式)
ssh server key-re-exchange enable [ interval interval ]
(FIPS模式)
ssh server key-re-exchange enable [ interval-minutes interval ]
缺省情況下,SSH算法重協商和密鑰重交換功能處於關閉狀態。
本功能的開啟和間隔時間變化不影響已存在的SSH連接。
(1) 進入係統視圖。
system-view
(2) 設置RSA服務器密鑰對的最小更新間隔時間。
ssh server rekey-interval interval
缺省情況下,係統不更新RSA服務器密鑰對。
FIPS模式下,不支持本命令。
本功能僅對SSH客戶端版本為SSH1的用戶有效。
(1) 進入係統視圖。
system-view
(2) 設置SSH用戶的認證超時時間。
ssh server authentication-timeout time-out-value
缺省情況下,SSH用戶的認證超時時間為60秒。
為了防止不法用戶建立起TCP連接後,不進行接下來的認證而空占進程,妨礙其它合法用戶的正常登錄,可以設置驗證超時時間,如果在規定的時間內沒有完成認證就拒絕該連接。
(1) 進入係統視圖。
system-view
(2) 設置SSH認證嚐試的最大次數。
ssh server authentication-retries retries
缺省情況下,SSH連接認證嚐試的最大次數為3次。
本功能可以防止非法用戶對用戶名和密碼進行惡意地猜測和破解。在any認證方式下,SSH客戶端通過publickey和password方式進行認證嚐試的次數總和,不能超過配置最大次數。
(1) 進入係統視圖。
system-view
(2) 設置對SSH用戶的訪問控製。
(IPv4網絡)
ssh server acl { advanced-acl-number | basic-acl-number | mac mac-acl-number }
(IPv6網絡)
ssh server ipv6 acl { ipv6 { advanced-acl-number | basic-acl-number } | mac mac-acl-number }
缺省情況下,允許所有SSH用戶向設備發起SSH訪問。
通過配置本功能,使用ACL過濾向SSH服務器發起連接的SSH客戶端。
對SSH客戶端的訪問控製通過引用ACL來實現,具體情況如下:
¡ 當引用的ACL不存在或者引用的ACL為空時,不允許SSH客戶端訪問設備。
¡ 當引用的ACL非空時,則隻有匹配ACL中permit規則的SSH客戶端可以訪問設備,其他客戶端不可以訪問設備。
該配置生效後,隻會過濾新建立的SSH連接,不會影響已建立的SSH連接。
(1) 進入係統視圖。
system-view
(2) 開啟匹配ACL deny規則後打印日誌信息功能。
ssh server acl-deny-log enable
缺省情況下,匹配ACL deny規則後打印日誌信息功能處於關閉狀態。
通過開啟本功能,設備可以記錄匹配deny規則的IP用戶的登錄日誌,用戶可以查看非法登錄的地址信息。
(1) 進入係統視圖。
system-view
(2) 設置SSH服務器向SSH客戶端發送的報文的DSCP優先級。
(IPv4網絡)
ssh server dscp dscp-value
(IPv6網絡)
ssh server ipv6 dscp dscp-value
缺省情況下,SSH報文的DSCP優先級為48。
DSCP攜帶在IPv4報文中的ToS字段和IPv6報文中的Trafic class字段,用來體現報文自身的優先等級,決定報文傳輸的優先程度。
(1) 進入係統視圖。
system-view
(2) 設置SFTP用戶連接的空閑超時時間。
sftp server idle-timeout time-out-value
缺省情況下,SFTP用戶連接的空閑超時時間為10分鍾。
當SFTP用戶連接的空閑時間超過設定的閾值後,係統會自動斷開此用戶的連接,從而有效避免用戶長期占用連接而不進行任何操作。
(1) 進入係統視圖。
system-view
(2) 設置同時在線的最大SSH用戶連接數。
aaa session-limit ssh max-sessions
缺省情況下,同時在線的最大SSH用戶連接數為32。
係統資源有限,當前在線SSH用戶數超過設定的最大值時,係統會拒絕新的SSH連接請求。該值的修改不會對已經在線的用戶連接造成影響,隻會對新的用戶連接生效。
關於該命令的詳細介紹,請參見“安全命令參考”中的“AAA”。
(1) 進入係統視圖。
system-view
(2) 配置設備可存儲的SSH用戶登錄異常原因最大條數。
ssh exception-record max-number max-number
缺省情況下,設備可存儲的SSH用戶登錄異常原因最大條數為10。
當管理員需要獲取更多的SSH用戶登錄異常記錄時,可通過配置本命令將設備可存儲的SSH用戶登錄異常原因條數調大。
(1) 進入係統視圖。
system-view
(2) 設置指定統計時間內SSH用戶登錄失敗的告警閾值。
ssh server login-failed threshold-alarm upper-limit report-time lower-limit resume-time period period-time
缺省情況下,統計時間為5分鍾,SSH用戶失敗的告警上報和取消閾值分別為30和20。
配置本命令後,在指定的統計時間內,當SSH用戶登錄失敗的次數大於等於告警上限閾值,或者從超過上限回落到小於下限閾值時,將產生對應的告警信息,以便管理及時了解SSH用戶登錄的實時情況。
SSH服務器利用所屬的PKI域在密鑰交換階段發送證書給客戶端,在ssh user命令中沒有指定驗證客戶端的PKI域的情況下,使用服務器所屬的PKI域來認證客戶端並用它來對連接的客戶端進行認證。
(1) 進入係統視圖。
system-view
(2) 配置SSH服務器所屬的PKI域。
ssh server pki-domain domain-name
缺省情況下,未配置SSH服務器所屬的PKI域。
係統支持多個SSH用戶同時對設備進行配置,當管理員在維護設備時,其他在線SSH用戶的配置影響到管理員的操作,或者管理員正在進行一些重要配置不想被其他用戶幹擾時,可以強製斷開該用戶的連接。
請在用戶視圖下執行本命令,釋放已建立的SSH連接。
free ssh { user-ip { ip-address | ipv6 ipv6-address } [ port port-number ] | user-pid pid-number | username username }
Stelnet客戶端配置任務如下:
(1) 生成本地密鑰對
僅采用publickey、password-publickey或any認證方式時必選。
(2) (可選)配置Stelnet客戶端發送SSH報文使用的源IP地址
(3) 建立與Stelnet服務器的連接
(4) (可選)客戶端刪除保存在公鑰文件中的服務器公鑰
(5) (可選)與遠程的Stelnet服務器建立基於Suite B算法集的連接
客戶端采用publickey、password-publickey或any認證方式時,需要生成本地密鑰對。
SSH僅支持默認名稱的本地DSA、ECDSA或RSA密鑰對,不支持指定名稱的本地DSA、ECDSA或RSA密鑰對。關於密鑰對生成命令的相關介紹請參見“安全命令參考”中的“公鑰管理”。
生成DSA密鑰對時,要求輸入的密鑰模數的長度必須小於2048比特。
SSH客戶端支持secp256r1和secp384r1類型的ECDSA密鑰對。
設備運行於FIPS模式時,僅支持ECDSA、RSA密鑰對。
(1) 進入係統視圖。
system-view
(2) 生成本地密鑰對。
public-key local create { dsa | ecdsa { secp256r1 | secp384r1 } | rsa }
Stelnet客戶端與Stelnet服務器通信時,缺省采用路由決定的源IP地址作為發送報文的源地址。如果使用本配置指定了源IP地址或源接口,則采用該地址與服務器進行通信。
為保證Stelnet客戶端與Stelnet服務器通信鏈路的可達性,以及增加認證業務對SFTP客戶端的可管理性,通常建議指定Loopback接口的IP地址作為源IP地址。
(1) 進入係統視圖。
system-view
(2) 配置Stelnet客戶端發送SSH報文使用的源IP地址。
(IPv4網絡)
ssh client source { interface interface-type interface-number | ip ip-address }
缺省情況下,IPv4 Stelnet客戶端采用設備路由指定的SSH報文出接口主IP地址作為源IP地址。
(IPv6網絡)
ssh client ipv6 source { interface interface-type interface-number | ipv6 ipv6-address }
缺省情況下,IPv6 Stelnet客戶端采用設備自動選擇的IPv6地址作為源IP地址。
該配置任務用來啟動Stelnet客戶端程序,與遠程Stelnet服務器建立連接,並指定公鑰算法、首選加密算法、首選HMAC算法和首選密鑰交換算法等。
Stelnet客戶端訪問服務器時,需要通過本地保存的服務器端的主機公鑰來驗證服務器的身份。設備作為Stelnet客戶端時,默認支持首次認證,即當Stelnet客戶端首次訪問服務器,而客戶端沒有配置服務器端的主機公鑰時,用戶可以選擇繼續訪問該服務器,並在客戶端保存該主機公鑰,不指定public-key,則會把服務器公鑰保存到公鑰文件中,但不會保存到配置文件中;當用戶下次訪問該服務器時,就以保存的主機公鑰來認證該服務器。首次認證在比較安全的網絡環境中可以簡化客戶端的配置,但由於該方式下客戶端完全相信服務器公鑰的正確性,因此存在一定的安全隱患。
客戶端不能同時連接IPv4和IPv6類型的服務器。
請在用戶視圖下執行以下命令,與IPv4 Stelnet服務器端建立連接。
(非FIPS模式)
ssh2 server [ port-number ] [ vpn-instance vpn-instance-name ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ dscp dscp-value | escape character | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] *
(FIPS模式)
ssh2 server [ port-number ] [ vpn-instance vpn-instance-name ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ escape character | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] *
請在用戶視圖下執行以下命令,與IPv6 Stelnet服務器端建立連接。
(非FIPS模式)
ssh2 ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ dscp dscp-value | escape character | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
(FIPS模式)
ssh2 ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ escape character | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
客戶端切換到FIPS模式後,如果已經保存的服務器公鑰不符合FIPS模式要求,則無法登錄到服務器。如果客戶端想要重新登錄該服務器,則需要執行本配置刪除本地文件中的指定服務器公鑰,並保證服務器上已經生成了符合FIPS模式要求的公鑰。
(1) 進入係統視圖。
system-view
(2) Stelnet客戶端刪除保存在公鑰文件中的服務器公鑰。
delete ssh client server-public-key [ server-ip ip-address ]
請在用戶視圖下執行本命令,與遠程的Stelnet服務器建立基於Suite B算法集的連接。
(IPv4網絡)
ssh2 server [ port-number ] [ vpn-instance vpn-instance-name ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ dscp dscp-value | escape character | source { interface interface-type interface-number | ip ip-address } ] *
(IPv6網絡)
ssh2 ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ dscp dscp-value | escape character | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
SFTP客戶端配置任務如下:
(1) 生成本地密鑰對
僅采用publickey、password-publickey或any認證方式時必選。
(2) (可選)配置SFTP客戶端發送SFTP報文使用的源IP地址
(3) 建立與SFTP服務器的連接
(4) (可選)SFTP客戶端刪除保存在公鑰文件中的服務器公鑰
(5) (可選)與遠程的SFTP服務器建立基於Suite B算法集的連接
(6) (可選)SFTP目錄操作
(7) (可選)SFTP文件操作
(8) (可選)顯示幫助信息
(9) (可選)終止與SFTP服務器的連接
客戶端采用publickey、password-publickey或any認證方式時,需要生成本地密鑰對。
SSH僅支持默認名稱的本地DSA、ECDSA或RSA密鑰對,不支持指定名稱的本地DSA、ECDSA或RSA密鑰對。關於密鑰對生成命令的相關介紹請參見“安全命令參考”中的“公鑰管理”。
生成DSA密鑰對時,要求輸入的密鑰模數的長度必須小於2048比特。
SSH客戶端支持secp256r1和secp384r1類型的ECDSA密鑰對。
設備運行於FIPS模式時,僅支持RSA、ECDSA密鑰對。
(1) 進入係統視圖。
system-view
(2) 生成本地密鑰對。
public-key local create { dsa | ecdsa { secp256r1 | secp384r1 } | rsa }
SFTP客戶端與SFTP服務器通信時,缺省采用路由決定的源IP地址作為發送報文的源地址。如果使用本配置指定了源IP地址或源接口,則采用該地址與服務器進行通信。
為保證SFTP客戶端與SFTP服務器通信鏈路的可達性,以及增加認證業務對SFTP客戶端的可管理性,通常建議指定Loopback接口的IP地址作為源IP地址。
(1) 進入係統視圖。
system-view
(2) 配置SFTP客戶端發送SFTP報文使用的源IP地址。
(IPv4網絡)
sftp client source { ip ip-address | interface interface-type interface-number }
缺省情況下,IPv4客戶端采用設備路由指定的SFTP報文的出接口主IP地址作為源IP地址。
(IPv6網絡)
sftp client ipv6 source { ipv6 ipv6-address | interface interface-type interface-number }
缺省情況下,IPv6客戶端采用設備自動選擇的IPv6地址作為源IP地址。
該配置任務用來啟動SFTP客戶端程序,與遠程SFTP服務器建立連接,並指定公鑰算法、首選加密算法、首選HMAC算法和首選密鑰交換算法等。SFTP客戶端與服務器成功建立連接之後,用戶即可進入到服務器端上的SFTP客戶端視圖下進行目錄、文件等操作。
SFTP客戶端訪問服務器時,需要通過本地保存的服務器端的主機公鑰來驗證服務器的身份。設備作為SFTP客戶端時,默認支持首次認證,即當SFTP客戶端首次訪問服務器,而客戶端沒有配置服務器端的主機公鑰時,用戶可以選擇繼續訪問該服務器,並在客戶端保存該主機公鑰,不指定public-key,則會把服務器公鑰保存到公鑰文件中,但不會保存到配置文件中;當用戶下次訪問該服務器時,就以保存的主機公鑰來認證該服務器。首次認證在比較安全的網絡環境中可以簡化客戶端的配置,但由於該方式下客戶端完全相信服務器公鑰的正確性,因此存在一定的安全隱患。
客戶端不能同時連接IPv4和IPv6類型的服務器。
請在用戶視圖下執行以下命令,與IPv4 SFTP服務器建立連接,並進入SFTP客戶端視圖。
(非FIPS模式)
sftp server [ port-number ] [ vpn-instance vpn-instance-name ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ dscp dscp-value | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] *
(FIPS模式)
sftp server [ port-number ] [ vpn-instance vpn-instance-name ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] *
請在用戶視圖下執行以下命令,與IPv6 SFTP服務器建立連接,並進入SFTP客戶端視圖。
(非FIPS模式)
sftp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ dscp dscp-value | { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
(FIPS模式)
sftp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
客戶端切換到FIPS模式後,如果已經保存的服務器公鑰不符合FIPS模式要求,則無法登錄到服務器。如果客戶端想要重新登錄該服務器,則需要執行本配置刪除本地文件中的指定服務器公鑰,並保證服務器上已經生成了符合FIPS模式要求的公鑰。
(1) 進入係統視圖。
system-view
(2) SFTP客戶端刪除保存在公鑰文件中的服務器公鑰。
delete ssh client server-public-key [ server-ip ip-address ]
請在用戶視圖下執行本命令,與遠程的SFTP服務器建立基於Suite B算法集的連接。
(IPv4網絡)
sftp server [ port-number ] [ vpn-instance vpn-instance-name ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ dscp dscp-value | source { interface interface-type interface-number | ip ip-address } ] *
(IPv6網絡)
sftp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ dscp dscp-value | escape character | source { interface interface-type interface-number | ipv6 ipv6-address } ] *
SFTP目錄操作包括:改變或顯示當前的工作路徑、顯示指定目錄下的文件或目錄信息、改變服務器上指定的文件夾的名字、創建或刪除目錄等操作。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 改變遠程SFTP服務器上的工作路徑。
cd [ remote-path ]
(3) (可選)返回到上一級目錄。
cdup
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 顯示遠程SFTP服務器上的當前工作目錄。
pwd
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 顯示指定目錄下的文件列表。
¡ dir [ -a | -l ] [ remote-path ]
¡ ls [ -a | -l ] [ remote-path ]
dir和ls兩條命令的作用相同。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 改變SFTP服務器上指定的目錄的名字。
rename old-name new-name
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 在遠程SFTP服務器上創建新的目錄。
mkdir remote-path
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 刪除SFTP服務器上指定的目錄。
rmdir remote-path
SFTP文件操作包括:改變文件名、下載文件、上傳文件、顯示文件列表和刪除文件。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 改變SFTP服務器上指定的文件的名字。
rename old-name new-name
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 從遠程服務器上下載文件並存儲在本地。
get remote-file [ local-file ]
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 將本地的文件上傳到遠程SFTP服務器。
put local-file [ remote-file ]
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 顯示指定目錄下的文件。
¡ dir [ -a | -l ] [ remote-path ]
¡ ls [ -a | -l ] [ remote-path ]
dir和ls兩條命令的作用相同。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 刪除SFTP服務器上指定的文件。
¡ delete remote-file
¡ remove remote-file
delete和remove兩條命令的功能相同。
本配置用於顯示命令的幫助信息,如命令格式、參數配置等。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 顯示SFTP客戶端命令的幫助信息。
¡ help
¡ ?
help和?的功能相同。
(1) 進入SFTP客戶端視圖。
具體命令請參考“1.5.4 建立與SFTP服務器的連接”。
(2) 終止與SFTP服務器的連接,並退回用戶視圖。
¡ bye
¡ exit
¡ quit
bye、exit和quit三條命令的功能相同。
SCP客戶端配置任務如下:
(1) 生成本地密鑰對
僅采用publickey、password-publickey或any認證方式時必選。
(2) (可選)配置SCP客戶端發送SCP報文使用的源IP地址
(3) 與遠程SCP服務器傳輸文件
(4) (可選)SCP客戶端刪除保存在公鑰文件中的服務器公鑰
(5) (可選)與遠程的SCP服務器建立基於Suite B算法集的連接
客戶端采用publickey、password-publickey或any認證方式時,需要生成本地密鑰對。
SSH僅支持默認名稱的本地DSA、ECDSA或RSA密鑰對,不支持指定名稱的本地DSA、ECDSA或RSA密鑰對。關於密鑰對生成命令的相關介紹請參見“安全命令參考”中的“公鑰管理”。
生成DSA密鑰對時,要求輸入的密鑰模數的長度必須小於2048比特。
SSH客戶端支持secp256r1和secp384r1類型的ECDSA密鑰對。
設備運行於FIPS模式時,僅支持ECDSA、RSA密鑰對。
(1) 進入係統視圖。
system-view
(2) 生成本地密鑰對。
public-key local create { dsa | ecdsa { secp256r1 | secp384r1 } | rsa }
SCP客戶端與SCP服務器通信時,缺省采用路由決定的源IP地址作為發送報文的源地址。如果使用本配置指定了源IP地址或源接口,則采用該地址與服務器進行通信。
為保證SCP客戶端與SCP服務器通信鏈路的可達性,以及增加認證業務對SCP客戶端的可管理性,通常建議指定Loopback接口的IP地址作為源IP地址。
(1) 進入係統視圖。
system-view
(2) 配置SCP客戶端發送SCP報文使用的源IP地址。
(IPv4網絡)
scp client source { interface interface-type interface-number | ip ip-address }
缺省情況下,未配置SCP客戶端使用的源IPv4地址,SCP客戶端發送SCP報文使用的源IPv4地址為設備路由指定的SCP報文出接口的主IP地址。
(IPv6網絡)
scp client ipv6 source { interface interface-type interface-number | ipv6 ipv6-address }
缺省情況下,未配置SCP客戶端使用的源IPv6地址,設備自動選擇IPv6 SCP報文的源IPv6地址,具體選擇原則請參見RFC 3484。
該配置任務用來啟動SCP客戶端程序,與遠程SCP服務器建立連接,並進行安全的文件傳輸操作。
SCP客戶端訪問服務器時,需要通過本地保存的服務器端的主機公鑰來驗證服務器的身份。設備作為SCP客戶端時,默認支持首次認證,即當SCP客戶端首次訪問服務器,而客戶端沒有配置服務器端的主機公鑰時,用戶可以選擇繼續訪問該服務器,並在客戶端保存該主機公鑰,不指定public-key,則會把服務器公鑰保存到公鑰文件中,但不會保存到配置文件中;當用戶下次訪問該服務器時,就以保存的主機公鑰來認證該服務器。首次認證在比較安全的網絡環境中可以簡化客戶端的配置,但由於該方式下客戶端完全相信服務器公鑰的正確性,因此存在一定的安全隱患。
客戶端不能同時連接IPv4和IPv6類型的服務器。
請在用戶視圖下執行以下命令,與遠程IPv4 SCP服務器建立連接,並進行文件傳輸。
(非FIPS模式)
scp server [ port-number ] [ vpn-instance vpn-instance-name ] { put | get } source-file-name [ destination-file-name ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] * [ user username [ password password [ no-more-input ] ] ]
(FIPS模式)
scp server [ port-number ] [ vpn-instance vpn-instance-name ] { put | get } source-file-name [ destination-file-name ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ip ip-address } ] * [ user username [ password password [ no-more-input ] ] ]
請在用戶視圖下執行以下命令,與遠程IPv6 SCP服務器建立連接,並進行文件傳輸。
(非FIPS模式)
scp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] { put | get } source-file-name [ destination-file-name ] [ identity-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-ctos-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | des-cbc } | prefer-stoc-hmac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] * [ user username [ password password [ no-more-input ] ] ]
(FIPS模式)
scp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] { put | get } source-file-name [ destination-file-name ] [ identity-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | { x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } pki-domain domain-name } | prefer-compress zlib | prefer-ctos-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-ctos-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } | prefer-kex { dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } | prefer-stoc-cipher { aes128-cbc | aes128-ctr | aes128-gcm | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm } | prefer-stoc-hmac { sha1 | sha1-96 | sha2-256 | sha2-512 } ] * [ { public-key keyname | server-pki-domain domain-name } | source { interface interface-type interface-number | ipv6 ipv6-address } ] * [ user username [ password password [ no-more-input ] ] ]
客戶端切換到FIPS模式後,如果已經保存的服務器公鑰不符合FIPS模式要求,則無法登錄到服務器。如果客戶端想要重新登錄該服務器,則需要執行本配置刪除本地文件中的指定服務器公鑰,並保證服務器上已經生成了符合FIPS模式要求的公鑰。
(1) 進入係統視圖。
system-view
(2) SCP客戶端刪除保存在公鑰文件中的服務器公鑰。
delete ssh client server-public-key [ server-ip ip-address ]
請在用戶視圖下執行本命令,與遠程的SCP服務器建立基於Suite B算法集的連接。
(IPv4網絡)
scp server [ port-number ] [ vpn-instance vpn-instance-name ] { put | get } source-file-name [ destination-file-name ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ source { interface interface-type interface-number | ip ip-address } ] * [ user username [ password password [ no-more-input ] ] ]
(IPv6網絡)
scp ipv6 server [ port-number ] [ vpn-instance vpn-instance-name ] [ -i interface-type interface-number ] { put | get } source-file-name [ destination-file-name ] suite-b [ 128-bit | 192-bit ] pki-domain domain-name [ server-pki-domain domain-name ] [ prefer-compress zlib ] [ source { interface interface-type interface-number | ipv6 ipv6-address } ] * [ user username [ password password [ no-more-input ] ] ]
設備作為服務器或者客戶端與對端建立Stelnet、SFTP、SCP會話過程中,將使用指定的算法優先列表進行協商。指定的算法包括:
· 密鑰交換算法
· 主機簽名算法
· 加密算法
· MAC算法
協商過程中,客戶端采用的算法匹配順序為優先列表中各算法的配置順序,服務器根據客戶端的算法來匹配和協商。
(1) 進入係統視圖。
system-view
(2) 配置SSH2協議密鑰交換算法優先列表。
(非FIPS模式)
ssh2 algorithm key-exchange { dh-group-exchange-sha1 | dh-group1-sha1 | dh-group14-sha1 | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } *
缺省情況下,SSH2協議采用的缺省密鑰交換算法從高到低的優先級列表為ecdh-sha2-nistp256、ecdh-sha2-nistp384、dh-group-exchange-sha1、dh-group14-sha1、dh-group1-sha1。
(FIPS模式)
ssh2 algorithm key-exchange { ecdh-sha2-nistp256 | ecdh-sha2-nistp384 } *
缺省情況下,SSH2協議采用的缺省密鑰交換算法從高到低的優先級列表為ecdh-sha2-nistp256、ecdh-sha2-nistp384。
(1) 進入係統視圖。
system-view
(2) 配置SSH2協議主機簽名算法優先列表。
(非FIPS模式)
ssh2 algorithm public-key { dsa | ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } *
缺省情況下,SSH2協議使用的缺省主機簽名算法從高到低的優先級列表為x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、rsa和dsa。
(FIPS模式)
ssh2 algorithm public-key { ecdsa-sha2-nistp256 | ecdsa-sha2-nistp384 | rsa | x509v3-ecdsa-sha2-nistp256 | x509v3-ecdsa-sha2-nistp384 } *
缺省情況下,SSH2協議使用的缺省主機簽名算法從高到低的優先級列表為x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、rsa。
(1) 進入係統視圖。
system-view
(2) 配置SSH2協議加密算法優先列表。
(非FIPS模式)
ssh2 algorithm cipher { 3des-cbc | aes128-cbc | aes128-ctr | aes128-gcm | aes128-gcm@openssh | aes192-ctr | aes256-cbc | aes256-ctr | aes256-gcm | aes256-gcm@openssh | des-cbc } *
缺省情況下,SSH2協議采用的缺省加密算法從高到低的優先級列表為aes128-ctr、aes192-ctr、aes256-ctr、aes128-gcm@openssh、aes256-gcm@openssh、aes128-gcm、aes256-gcm、aes128-cbc、3des-cbc、aes256-cbc、des-cbc。
(FIPS模式)
ssh2 algorithm cipher { aes128-gcm | aes128-gcm@openssh | aes256-gcm | aes256-gcm@openssh } *
缺省情況下,SSH2協議采用的缺省加密算法從高到低的優先級列表為aes128-gcm@openssh、aes256-gcm@openssh、aes128-gcm、aes256-gcm。
(1) 進入係統視圖。
system-view
(2) 配置SSH2協議MAC算法優先列表。
(非FIPS模式)
ssh2 algorithm mac { md5 | md5-96 | sha1 | sha1-96 | sha2-256 | sha2-512 } *
缺省情況下,SSH2協議使用的缺省MAC算法從高到底的優先級列表為sha2-256、sha2-512、sha1、md5、sha1-96和md5-96。
(FIPS模式)
ssh2 algorithm mac { sha2-256 | sha2-512 } *
缺省情況下,SSH2協議使用的缺省MAC算法從高到低的優先級列表為sha2-256、sha2-512。
在完成上述配置後,在任意視圖下執行display命令,可以顯示配置後SSH的運行情況,通過查看顯示信息驗證配置的效果。
表1-3 SSH顯示和維護
操作 |
命令 |
顯示本地密鑰對中的公鑰部分 |
display public-key local { dsa | ecdsa | rsa } public [ name publickey-name ] |
顯示保存在本地的遠端主機的公鑰信息 |
display public-key peer [ brief | name publickey-name ] |
顯示SCP客戶端的源IP地址配置 |
display scp client source |
顯示SFTP客戶端的源IP地址配置 |
display sftp client source |
顯示SSH客戶端公鑰文件中的服務器公鑰信息 |
display ssh client server-public-key [ server-ip ip-address ] |
顯示Stelnet客戶端的源IP地址配置 |
display ssh client source |
在SSH服務器端顯示該服務器的狀態信息或會話信息 |
display ssh server { session | status } |
在SSH服務器端顯示SSH用戶信息 |
display ssh user-information [ username ] |
顯示設備上配置的SSH2協議使用的算法優先列表 |
display ssh2 algorithm |
顯示SSH用戶登錄異常記錄的詳細信息 |
display ssh exception-record |
display public-key local和display public-key peer命令的詳細介紹請參見“安全命令參考”中的“公鑰管理”。
· 舉例中的設備運行於非FIPS模式下。
· 若設備運行於FIPS模式下,相關的配置和顯示信息將有所變化,請以設備的實際情況為準。設備作為服務器僅支持ECDSA、RSA密鑰對,請不要生成DSA密鑰對。
· 用戶可以通過Host上運行的Stelnet客戶端軟件(SSH2版本)安全地登錄到Switch上,並被授予用戶角色network-admin進行配置管理;
· Switch采用password認證方式對Stelnet客戶端進行認證,客戶端的用戶名和密碼保存在本地。
圖1-1 設備作為Stelnet服務器配置組網圖
(1) 配置Stelnet服務器
# 生成RSA密鑰對。
<Switch> system-view
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+.
Create the key pair successfully.
# 生成ECDSA密鑰對。
[Switch] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟Stelnet服務器功能。
[Switch] ssh server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接Stelnet服務器。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.40 255.255.255.0
[Switch-Vlan-interface2] quit
# 設置Stelnet客戶端登錄用戶線的認證方式為AAA認證。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 創建設備管理類本地用戶client001,設置密碼,服務類型為SSH,用戶角色為network-admin。
[Switch] local-user client001 class manage
[Switch-luser-manage-client001] password simple 123456TESTplat&!
[Switch-luser-manage-client001] service-type ssh
[Switch-luser-manage-client001] authorization-attribute user-role network-admin
[Switch-luser-manage-client001] quit
# 配置SSH用戶client001的服務類型為Stelnet,認證方式為password認證。(此步驟可以不配置)
[Switch] ssh user client001 service-type stelnet authentication-type password
(2) Stelnet客戶端建立與Stelnet服務器的連接
Stelnet客戶端軟件有很多,例如PuTTY、OpenSSH等。本文中僅以客戶端軟件PuTTY0.58為例,說明Stelnet客戶端的配置方法。
# 建立與Stelnet服務器端的連接。
打開PuTTY.exe程序,出現如圖1-2所示的客戶端配置界麵。在“Host Name(or IP address)”文本框中輸入Stelnet服務器的IP地址為192.168.1.40。
圖1-2 Stelnet客戶端配置界麵
在圖1-2中,單擊<Open>按鈕。按提示輸入用戶名client001及密碼123456TESTplat&!,即可進入Switch的配置界麵。
· 用戶可以通過Host上運行的Stelnet客戶端軟件(SSH2版本)安全地登錄到Switch上,並被授予用戶角色network-admin進行配置管理;
· Switch采用publickey認證方式對Stelnet客戶端進行認證,使用的公鑰算法為RSA。
圖1-3 設備作為Stelnet服務器配置組網圖
· 在服務器的配置過程中需要指定客戶端的公鑰信息,因此建議首先完成客戶端密鑰對的配置,再進行服務器的配置。
· 客戶端軟件有很多,例如PuTTY、OpenSSH等。本文中僅以客戶端軟件PuTTY0.58為例,說明Stelnet客戶端的配置方法。
(1) 配置Stelnet客戶端
# 生成RSA密鑰對。
在客戶端運行PuTTYGen.exe,在參數欄中選擇“SSH-2 RSA”,點擊<Generate>,產生客戶端密鑰對。
圖1-4 生成客戶端密鑰(步驟1)
在產生密鑰對的過程中需不停地移動鼠標,鼠標移動僅限於下圖藍色框中除綠色標記進程條外的地方,否則進程條的顯示會不動,密鑰對將停止產生,見圖1-5。
密鑰對產生後,點擊<Save public key>,輸入存儲公鑰的文件名key.pub,點擊<保存>按鈕。
圖1-6 生成客戶端密鑰(步驟3)
點擊<Save private key>存儲私鑰,彈出警告框,提醒是否保存沒做任何保護措施的私鑰,點擊<Yes>,輸入私鑰文件名為private.ppk,點擊保存。
圖1-7 生成客戶端密鑰(步驟4)
客戶端生成密鑰對後,需要將保存的公鑰文件key.pub通過FTP/TFTP方式上傳到服務器,具體過程略。
(2) 配置Stelnet服務器
# 生成RSA密鑰對。
<Switch> system-view
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 生成ECDSA密鑰對。
[Switch] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟Stelnet服務器功能。
[Switch] ssh server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接Stelnet服務器。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.40 255.255.255.0
[Switch-Vlan-interface2] quit
# 設置Stelnet客戶端登錄用戶線的認證方式為AAA認證。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 從文件key.pub中導入遠端的公鑰,並命名為switchkey。
[Switch] public-key peer switchkey import sshkey key.pub
# 設置SSH用戶client002的認證方式為publickey,並指定公鑰為switchkey。
[Switch] ssh user client002 service-type stelnet authentication-type publickey assign publickey switchkey
# 創建設備管理類本地用戶client002,並設置服務類型為SSH,用戶角色為network-admin。
[Switch] local-user client002 class manage
[Switch-luser-manage-client002] service-type ssh
[Switch-luser-manage-client002] authorization-attribute user-role network-admin
[Switch-luser-manage-client002] quit
(3) Stelnet客戶端建立與Stelnet服務器的連接
# 指定私鑰文件,並建立與Stelnet服務器的連接。
打開PuTTY.exe程序,出現如圖1-8所示的客戶端配置界麵。在“Host Name(or IP address)”文本框中輸入Stelnet服務器的IP地址為192.168.1.40。
圖1-8 Stelnet客戶端配置界麵
# 單擊左側導航欄“Connection->SSH”,出現如圖1-9的界麵。選擇“Preferred SSH protocol version”為“2”。
圖1-9 Stelnet客戶端配置界麵
單擊左側導航欄“Connection->SSH”下麵的“Auth”(認證),出現如圖1-10的界麵。單擊<Browse…>按鈕,彈出文件選擇窗口。選擇與配置到服務器端的公鑰對應的私鑰文件private.ppk。
圖1-10 Stelnet客戶端配置界麵
如圖1-10,單擊<Open>按鈕。按提示輸入用戶名client002,即可進入Switch的配置界麵。
· 配置Switch A作為Stelnet客戶端,用戶能夠通過Switch A安全地登錄到Switch B上,並被授予用戶角色network-admin進行配置管理。
· Switch B作為Stelnet服務器采用password認證方式對Stelnet客戶端進行認證,客戶端的用戶名和密碼保存在Switch B上。
圖1-11 設備作為Stelnet客戶端配置組網圖
(1) 配置Stelnet服務器
# 生成RSA密鑰對。
<SwitchB> system-view
[SwitchB] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 生成ECDSA密鑰對。
[SwitchB] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟Stelnet服務器功能。
[SwitchB] ssh server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接Stelnet服務器。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.1.40 255.255.255.0
[SwitchB-Vlan-interface2] quit
# 設置Stelnet客戶端登錄用戶線的認證方式為AAA認證。
[SwitchB] line vty 0 63
[SwitchB-line-vty0-63] authentication-mode scheme
[SwitchB-line-vty0-63] quit
# 創建設備管理類本地用戶client001,設置密碼,服務類型為SSH,用戶角色為network-admin。
[SwitchB] local-user client001 class manage
[SwitchB-luser-manage-client001] password simple 123456TESTplat&!
[SwitchB-luser-manage-client001] service-type ssh
[SwitchB-luser-manage-client001] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client001] quit
# 配置SSH用戶client001的服務類型為Stelnet,認證方式為password認證。(此步驟可以不配置)
[SwitchB] ssh user client001 service-type stelnet authentication-type password
# 配置SSH2協議所使用的主機簽名算法為dsa。
[SwitchB] ssh2 algorithm public-key dsa
(2) Stelnet客戶端建立與Stelnet服務器的連接
# 配置VLAN接口2的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.1.56 255.255.255.0
[SwitchA-Vlan-interface2] quit
[SwitchA] quit
¡ 客戶端本地沒有服務器端的主機公鑰,首次與服務器建立連接
# 建立到服務器192.168.1.40的SSH連接,選擇在不認證服務器的情況下繼續訪問服務網,並在客戶端保存服務器端的本地公鑰。
<SwitchA> ssh2 192.168.1.40
Username: client001
Press CTRL+C to abort.
Connecting to 192.168.1.40 port 22.
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:y
client001@192.168.1.40's password:
Enter a character ~ and a dot to abort.
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
*******************************************************************************
<SwitchB>
輸入正確的密碼之後,即可成功登錄到Switch B上。由於選擇在本地保存服務器端的主機公鑰,下次用戶登錄Switch B時直接輸入正確密碼即可成功登錄。
¡ 客戶端配置服務器端的主機公鑰後,與服務器建立連接
# 在客戶端配置SSH服務器端的主機公鑰。在公鑰視圖輸入服務器端的主機公鑰,即在服務器端通過display public-key local dsa public命令顯示的公鑰內容。
[SwitchA] public-key peer key1
Enter public key view. Return to system view with "peer-public-key end" command.
[SwitchA-pkey-public-key-key1]308201B73082012C06072A8648CE3804013082011F0281810
0D757262C4584C44C211F18BD96E5F0
[SwitchA-pkey-public-key-key1]61C4F0A423F7FE6B6B85B34CEF72CE14A0D3A5222FE08CECE
65BE6C265854889DC1EDBD13EC8B274
[SwitchA-pkey-public-key-key1]DA9F75BA26CCB987723602787E922BA84421F22C3C89CB9B0
6FD60FE01941DDD77FE6B12893DA76E
[SwitchA-pkey-public-key-key1]EBC1D128D97F0678D7722B5341C8506F358214B16A2FAC4B3
68950387811C7DA33021500C773218C
[SwitchA-pkey-public-key-key1]737EC8EE993B4F2DED30F48EDACE915F0281810082269009E
14EC474BAF2932E69D3B1F18517AD95
[SwitchA-pkey-public-key-key1]94184CCDFCEAE96EC4D5EF93133E84B47093C52B20CD35D02
492B3959EC6499625BC4FA5082E22C5
[SwitchA-pkey-public-key-key1]B374E16DD00132CE71B020217091AC717B612391C76C1FB2E
88317C1BD8171D41ECB83E210C03CC9
[SwitchA-pkey-public-key-key1]B32E810561C21621C73D6DAAC028F4B1585DA7F42519718CC
9B09EEF0381840002818000AF995917
[SwitchA-pkey-public-key-key1]E1E570A3F6B1C2411948B3B4FFA256699B3BF871221CC9C5D
F257523777D033BEE77FC378145F2AD
[SwitchA-pkey-public-key-key1]D716D7DB9FCABB4ADBF6FB4FDB0CA25C761B308EF53009F71
01F7C62621216D5A572C379A32AC290
[SwitchA-pkey-public-key-key1]E55B394A217DA38B65B77F0185C8DB8095522D1EF044B465E
8716261214A5A3B493E866991113B2D
[SwitchA-pkey-public-key-key1]485348
[SwitchA-pkey-public-key-key1] peer-public-key end
# 配置SSH2協議所使用的主機簽名算法為dsa。
[SwitchA] ssh2 algorithm public-key dsa
[SwitchA] quit
# 建立到服務器192.168.1.40的SSH連接,並指定服務器端的主機公鑰。
<SwitchA> ssh2 192.168.1.40 public-key key1
Username: client001
Press CTRL+C to abort.
Connecting to 192.168.1.40 port 22.
client001@192.168.1.40's password:
Enter a character ~ and a dot to abort.
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
輸入正確的密碼之後,即可成功登錄到Switch B上。
¡ 客戶端本地已有服務器端的主機公鑰,直接與服務器建立連接
<SwitchA> ssh2 192.168.1.40
Username: client001
Press CTRL+C to abort.
Connecting to 192.168.1.40 port 22.
client001@192.168.1.40's password:
Enter a character ~ and a dot to abort.
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
輸入正確的密碼之後,即可成功登錄到Switch B上。
· 配置Switch A作為Stelnet客戶端,用戶能夠通過Switch A安全地登錄到Switch B上,並被授予用戶角色network-admin進行配置管理。
· Switch B作為Stelnet服務器采用publickey認證方式對Stelnet客戶端進行認證,使用的公鑰算法為DSA。
圖1-12 設備作為Stelnet客戶端配置組網圖
(1) 配置Stelnet客戶端
在服務器的配置過程中需要指定客戶端的公鑰信息,因此需要首先完成客戶端密鑰對的配置,再進行服務器的配置。
# 配置VLAN接口2的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.1.56 255.255.255.0
[SwitchA-Vlan-interface2] quit
# 生成DSA密鑰對。
[SwitchA] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 將生成的DSA主機公鑰導出到指定文件key.pub中。
[SwitchA] public-key local export dsa ssh2 key.pub
[SwitchA] quit
客戶端生成密鑰對後,需要將保存的公鑰文件key.pub通過FTP/TFTP方式上傳到服務器,具體過程略。
(2) 配置Stelnet服務器
# 生成RSA密鑰對。
<SwitchB> system-view
[SwitchB] public-key local create rsa
The range of public key modulus is (512 ~ 4096)
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 生成ECDSA密鑰對。
[SwitchB] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟Stelnet服務器功能。
[SwitchB] ssh server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接SSH服務器。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.1.40 255.255.255.0
[SwitchB-Vlan-interface2] quit
# 設置Stelnet客戶端登錄用戶線的認證方式為AAA認證。
[SwitchB] line vty 0 63
[SwitchB-line-vty0-63] authentication-mode scheme
[SwitchB-line-vty0-63] quit
# 從文件key.pub中導入遠端的公鑰,並命名為switchkey。
[SwitchB] public-key peer switchkey import sshkey key.pub
# 設置SSH用戶client002的認證方式為publickey,並指定公鑰為switchkey。
[SwitchB] ssh user client002 service-type stelnet authentication-type publickey assign publickey switchkey
# 創建設備管理類本地用戶client002,並設置服務類型為SSH,用戶角色為network-admin。
[SwitchB] local-user client002 class manage
[SwitchB-luser-manage-client002] service-type ssh
[SwitchB-luser-manage-client002] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client002] quit
(3) Stelnet客戶端建立與Stelnet服務器的連接
# 建立到服務器192.168.1.40的SSH連接。
<SwitchA> ssh2 192.168.1.40 identity-key dsa
Username: client002
Press CTRL+C to abort.
Connecting to 192.168.1.40 port 22.
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
Enter a character ~ and a dot to abort.
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<SwitchB>
由於本地未保存服務器端的主機公鑰,因此在選擇繼續訪問服務器之後,即可成功登錄到Switch B上。
· 舉例中的設備運行於非FIPS模式下。
· 若設備運行於FIPS模式下,相關的配置和顯示信息將有所變化,請以設備的實際情況為準。設備作為服務器僅支持ECDSA、RSA密鑰對,請不要生成DSA密鑰對。
· 用戶可以通過Host上運行的SFTP客戶端軟件安全地登錄到Switch上,並被授予用戶角色network-admin進行文件管理和文件傳送等操作;
· Switch采用password認證方式對SFTP客戶端進行認證,客戶端的用戶名和密碼保存在本地。
圖1-13 設備作為SFTP服務器配置組網圖
(1) 配置SFTP服務器
# 生成RSA密鑰對。
<Switch> system-view
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 生成ECDSA密鑰對。
[Switch] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 啟動SFTP服務器。
[Switch] sftp server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接SSH服務器。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.45 255.255.255.0
[Switch-Vlan-interface2] quit
# 創建設備管理類本地用戶client002,設置密碼,服務類型為SSH,用戶角色為network-admin,工作目錄為flash:/。
[Switch] local-user client002 class manage
[Switch-luser-manage-client002] password simple 123456TESTplat&!
[Switch-luser-manage-client002] service-type ssh
[Switch-luser-manage-client002] authorization-attribute user-role network-admin work-directory flash:/
[Switch-luser-manage-client002] quit
# 配置SSH用戶認證方式為password,服務類型為SFTP。(此步驟可以不配置)
[Switch] ssh user client002 service-type sftp authentication-type password
(2) SFTP客戶端建立與SFTP服務器的連接
· SFTP客戶端軟件有很多,本文中僅以客戶端軟件PuTTY0.58中的PSFTP為例,說明SFTP客戶端的配置方法。
· PSFTP隻支持password認證,不支持publickey認證。
# 建立與SFTP服務器的連接。
打開psftp.exe程序,出現如圖1-14所示的客戶端配置界麵。輸入如下命令:
open 192.168.1.45
根據提示輸入用戶名client002,密碼123456TESTplat&!,即可登錄SFTP服務器。
圖1-14 SFTP客戶端登錄界麵
· 配置Switch A作為SFTP客戶端,用戶能夠通過Switch A安全地登錄到Switch B上,並被授予用戶角色network-admin進行文件管理和文件傳送等操作。
· Switch B作為SFTP服務器采用publickey認證方式對SFTP客戶端進行認證,使用的公鑰算法為RSA。
圖1-15 設備作為SFTP客戶端配置組網圖
(1) 配置SFTP客戶端
在服務器的配置過程中需要指定客戶端的公鑰信息,因此建議首先完成客戶端密鑰對的配置,再進行服務器的配置。
# 配置VLAN接口2的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.0.2 255.255.255.0
[SwitchA-Vlan-interface2] quit
# 生成RSA密鑰對。
[SwitchA] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 將生成的RSA主機公鑰導出到指定文件pubkey中。
[SwitchA] public-key local export rsa ssh2 pubkey
[SwitchA] quit
客戶端生成密鑰對後,需要將保存的公鑰文件pubkey通過FTP/TFTP方式上傳到服務器,具體過程略。
(2) 配置SFTP服務器
# 生成RSA密鑰對。
<SwitchB> system-view
[SwitchB] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+
Create the key pair successfully.
# 生成ECDSA密鑰對。
[SwitchB] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 啟動SFTP服務器。
[SwitchB] sftp server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接SSH服務器。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.0.1 255.255.255.0
[SwitchB-Vlan-interface2] quit
# 從文件pubkey中導入遠端的公鑰,並命名為switchkey。
[SwitchB] public-key peer switchkey import sshkey pubkey
# 設置SSH用戶client001的服務類型為SFTP,認證方式為publickey,並指定公鑰為switchkey。
[SwitchB] ssh user client001 service-type sftp authentication-type publickey assign publickey switchkey
# 創建設備管理類本地用戶client001,並設置服務類型為SSH,用戶角色為network-admin,工作目錄為flash:/。
[SwitchB] local-user client001 class manage
[SwitchB-luser-manage-client001] service-type ssh
[SwitchB-luser-manage-client001] authorization-attribute user-role network-admin work-directory flash:/
[SwitchB-luser-manage-client001] quit
(3) SFTP客戶端建立與SFTP服務器端的連接
# 與遠程SFTP服務器建立連接,進入SFTP客戶端視圖。
<SwitchA> sftp 192.168.0.1 identity-key rsa
Username: client001
Press CTRL+C to abort.
Connecting to 192.168.0.1 port 22.
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
sftp>
# 顯示服務器的當前目錄,刪除文件z,並檢查此文件是否刪除成功。
sftp> dir -l
-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 pubkey
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> delete z
Removing /z
sftp> dir -l
-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 pubkey
drwxrwxrwx 1 noone nogroup 0 Sep 01 06:22 new
-rwxrwxrwx 1 noone nogroup 225 Sep 01 06:55 pub
# 新增目錄new1,並檢查新目錄是否創建成功。
sftp> mkdir new1
sftp> dir -l
-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 pubkey
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> rename new1 new2
sftp> dir -l
-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 pubkey
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> get pubkey2 public
Fetching / pubkey2 to public
/pubkey2 100% 225 1.4KB/s 00:00
# 將本地文件pu上傳到服務器上,更名為puk,並查看上傳是否成功。
sftp> put pu puk
Uploading pu to / puk
sftp> dir -l
-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 pubkey
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>
# 退出SFTP客戶端視圖。
sftp> quit
<SwitchA>
· 舉例中的設備運行於非FIPS模式下。
· 若設備運行於FIPS模式下,相關的配置和顯示信息將有所變化,請以設備的實際情況為準。設備作為服務器僅支持ECDSA、RSA密鑰對,請不要生成DSA密鑰對。
如下圖所示,Switch A作為SCP客戶端,Switch B作為SCP服務器。現有如下具體需求:
· 用戶能夠通過Switch A安全地安全地登錄到Switch B上,並被授予用戶角色network-admin與Switch B進行文件傳輸。
· Switch B采用password認證對SCP客戶端進行認證,客戶端的用戶名和密碼保存在Switch B上。
圖1-16 SCP文件傳輸配置組網圖
Switch B采用password認證對SCP客戶端進行認證,客戶端的用戶名和密碼保存在Switch B上。
組網圖
SCP文件傳輸配置組網圖
配置SCP服務器
(1) 配置SCP服務器
# 生成RSA密鑰對。
<SwitchB> system-view
[SwitchB] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[SwitchB] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+.
Create the key pair successfully.
# 生成ECDSA密鑰對。
[SwitchB] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟SCP服務器功能。
[SwitchB] scp server enable
# 配置接口VLAN接口2的IP地址,客戶端將通過該地址連接SCP服務器。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 192.168.0.1 255.255.255.0
[SwitchB-Vlan-interface2] quit
# 創建設備管理類本地用戶client001,設置密碼,服務類型為SSH。
[SwitchB] local-user client001 class manage
[SwitchB-luser-manage-client001] password simple 123456TESTplat&!
[SwitchB-luser-manage-client001] service-type ssh
[SwitchB-luser-manage-client001] authorization-attribute user-role network-admin
[SwitchB-luser-manage-client001] quit
# 配置SSH用戶client001的服務類型為scp,認證方式為password認證。(此步驟可以不配置)
[SwitchB] ssh user client001 service-type scp authentication-type password
(2) 配置SCP客戶端
# 配置接口VLAN 2的IP地址。
<SwitchA> system-view
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 192.168.0.2 255.255.255.0
[SwitchA-Vlan-interface2] quit
[SwitchA] quit
(3) SCP客戶端從SCP服務器下載文件
# 與遠程SCP服務器建立連接,並下載遠端的remote.bin文件,下載到本地後更名為local.bin。
<SwitchA> scp 192.168.0.1 get remote.bin local.bin
Username: client001
Press CTRL+C to abort.
Connecting to 192.168.0.1 port 22.
The server is not authenticated. Continue? [Y/N]:y
Do you want to save the server public key? [Y/N]:n
client001@192.168.0.1’s password:
remote.bin 100% 2875 2.8KB/s 00:00
如下圖所示,Device作為SCP客戶端,Switch作為SCP服務器。現有如下具體需求:
· 用戶能夠通過Device安全地登錄到Switch上,並被授予用戶角色network-admin與Switch 進行文件傳輸。
· Switch采用password認證對SCP客戶端進行認證,客戶端的用戶名和密碼保存在Switch上。
圖1-17 SCP文件傳輸配置組網圖
(1) 配置SCP服務器
# 生成RSA密鑰對。
<Switch> system-view
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+.
Create the key pair successfully.
# 生成ECDSA密鑰對。
[Switch] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟SCP服務器功能。
[Switch] scp server enable
# 配置接口VLAN接口2的IP地址,客戶端將通過該地址連接SCP服務器。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.0.1 255.255.255.0
[Switch-Vlan-interface2] quit
# 創建設備管理類本地用戶client001,設置密碼,服務類型為SSH,用戶角色為network-admin,工作目錄為flash:/。
[Switch] local-user client001 class manage
[Switch-luser-manage-client001] password simple 123456TESTplat&!
[Switch-luser-manage-client001] service-type ssh
[Switch-luser-manage-client001] authorization-attribute user-role network-admin work-directory flash:/
[Switch-luser-manage-client001] quit
# 配置SSH用戶client001的服務類型為scp,認證方式為password認證。(此步驟可以不配置)
[Switch] ssh user client001 service-type scp authentication-type password
(2) 配置SCP客戶端
下麵以Linux係統的SCP客戶端為例,進行介紹說明。
# 與遠程SCP服務器建立連接,並下載遠端的remote.bin文件,下載到本地後更名為local.bin。
admin@device:~# scp client001@192.168.0.1:remote.bin local.bin
client001@192.168.0.1's password:
remote.bin 100% 15
0.0KB/s 00:00
· 舉例中的設備運行於非FIPS模式下。
· 若設備運行於FIPS模式下,相關的配置和顯示信息將有所變化,請以設備的實際情況為準。設備作為服務器僅支持ECDSA、RSA密鑰對,請不要生成DSA密鑰對。
· 用戶可以通過Host上運行的支持NETCONF over SSH連接的SSH客戶端軟件(SSH2版本)安全地登錄到Switch上,並被授予用戶角色network-admin進行配置管理;
· Switch采用password認證方式對SSH客戶端進行認證,客戶端的用戶名和密碼保存在本地。
圖1-18 設備作為NETCONF over SSH服務器配置組網圖
組網圖
設備作為NETCONF over SSH服務器配置組網圖
配置步驟
# 生成RSA密鑰對。
<Switch> system-view
[Switch] public-key local create rsa
The range of public key modulus is (512 ~ 4096).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
........................++++++
...................++++++
..++++++++
............++++++++
Create the key pair successfully.
# 生成DSA密鑰對。
[Switch] public-key local create dsa
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512, it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
.++++++++++++++++++++++++++++++++++++++++++++++++++*
........+......+.....+......................................+
...+.................+..........+...+.
Create the key pair successfully.
# 生成ECDSA密鑰對。
[Switch] public-key local create ecdsa secp256r1
Generating Keys...
.
Create the key pair successfully.
# 開啟NETCONF over SSH服務器功能。
[Switch] netconf ssh server enable
# 配置VLAN接口2的IP地址,客戶端將通過該地址連接NETCONF over SSH服務器。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.40 255.255.255.0
[Switch-Vlan-interface2] quit
# 設置NETCONF over SSH客戶端登錄用戶線的認證方式為AAA認證。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 創建設備管理類本地用戶client001,設置密碼,服務類型為SSH,用戶角色為network-admin。
[Switch] local-user client001 class manage
[Switch-luser-manage-client001] password simple 123456TESTplat&!
[Switch-luser-manage-client001] service-type ssh
[Switch-luser-manage-client001] authorization-attribute user-role network-admin
[Switch-luser-manage-client001] quit
# 配置SSH用戶client001的服務類型為NETCONF,認證方式為password認證。(此步驟可以不配置)
[Switch] ssh user client001 service-type netconf authentication-type password
用戶通過支持NETCONF over SSH連接的客戶端軟件與Switch建立NETCONF over SSH連接之後,可直接進入Switch的NETCONF配置模式。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!