Inleiding
In dit document wordt beschreven hoe u de optie -O kunt gebruiken om te zorgen voor een succesvolle SCP van clients op OpenSSH9.0 naar Cisco IOS® XE-apparaten.
Tijdelijke oplossing
De optie -O kan worden gebruikt op nieuwere versies van OpenSSH met de SCP-opdracht om SCP te forceren om te worden gebruikt voor de bestandsoverdracht in plaats van SFTP.
scp -O file.ext username@192.0.2.1:file.ext
Achtergrondinformatie
SCP kan worden gebruikt om bestanden over te zetten tussen een SCP-client en een SCP-server. SCP gebruikt een SSH-sessie voor verificatie. Zodra de gebruiker is geverifieerd, wordt een ander kanaal geopend om het bestand over te zetten met SCP. In OpenSSH9.0 en hogere versies wordt SSH nog steeds gebruikt voor verificatie, maar SFTP wordt gebruikt voor de bestandsoverdracht in plaats van SCP. Dit creëert een probleem met de huidige versies van Cisco IOS XE omdat SFTP momenteel niet wordt ondersteund om bestanden over te zetten via SSH. De SSH-sessie slaagt en er is een logbestand met aanmeldingssucces in de syslog-buffer. De verbinding wordt echter abrupt gesloten wanneer de SCP-client probeert de SFTP-overdracht te starten.
SSH en SCP configureren
Vereisten voor het gebruik van een SCP-client om een bestand over te zetten naar een Cisco IOS XE-apparaat.
- SSH moet worden geconfigureerd
- Lokale aanmelding of AAA moet worden geconfigureerd
- Privilege level 15 is vereist voor de gebruiker om SCP
- SCP-server moet zijn ingeschakeld
Hier is een voorbeeldconfiguratie
# configure SSH
hostname c8000v
ip domain name cisco.com
crypto key generate rsa
# optional - use ssh version 2
ip ssh version 2
# verify the SSH server is online
show ip ssh
# create a user with privilege level 15
username cisco privilege 15 password 0 cisco
# configure the vty line to use local login and allow ssh
line vty 0 4
login local
transport input ssh
# Enable the SCP server
ip scp server enable
Tip: Aanvullende informatie over SSH-configuratie vindt u hier.
Opmerking: aaa kan worden gebruikt in plaats van lokale login.
Zodra de configuratie is voltooid, kunt u SSH / SCP naar het apparaat sturen met een bereikbaar IP-adres op het apparaat.
Vanaf een Linux-apparaat kunt u deze opdrachten gebruiken met het IP-adres voor het apparaat:
Opmerking: standaard wordt het bestand gekopieerd naar bootflash.
Problemen oplossen
Als het probleem zich voordoet, controleert u op deze symptomen:
1. De OpenSSH-versie van de client geeft 9.0 of hoger weer.
jeff@jeff-virtual-machine:~$ ssh -V
OpenSSH_9.0p1 Ubuntu-1ubuntu7, OpenSSL 3.0.5 5 Jul 2022
2. De client laat zien dat de verbinding abrupt wordt gesloten zonder fouten of bestandsoverdracht.
jeff@jeff-virtual-machine:~$ scp test.txt cisco@192.0.2.1:test.txt
(cisco@192.0.2.1) Password:
scp: Connection closed
3. Op de router toont een syslog de succesvolle SSH-verbinding, maar het bestand is niet overgedragen.
*Mar 26 18:06:57.290: %SEC_LOGIN-5-LOGIN_SUCCESS: Login Success [user: cisco] [Source: 192.0.2.2] [localport: 22] at 18:06:57 UTC Sun Mar 26 2023
4. SCP-fouten op de router geven geen informatie weer.
c8000v#debug ip scp
Incoming SCP debugging is on
5. SCP met optie -v toont foutopsporingslogboeken die het SFTP-subsysteem verzenden.
scp -v test.txt cisco@192.0.2.1:test.txt
Executing: program /usr/bin/ssh host 192.0.2.1, user cisco, command sftp
OpenSSH_9.0p1 Ubuntu-1ubuntu7, OpenSSL 3.0.5 5 Jul 2022
<snip>
debug1: Entering interactive session.
debug1: pledge: filesystem
debug1: Sending environment.
debug1: channel 0: setting env LANG = "en_US.UTF-8"
debug1: Sending subsystem: sftp
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
scp: Connection closed
6. ssh-fouten op de router tonen dat SSH naar een SFTP-subsysteem zoekt en vervolgens de verbinding sluit.
c8000v#debug ip ssh detail
ssh detail messages debugging is on
*Mar 24 14:25:05.074: SSH: MD5 compliance exception Registered
*Mar 24 14:25:05.074: SSH1: starting SSH control process
*Mar 24 14:25:05.074: SSH1: sent protocol version id SSH-2.0-Cisco-1.25
*Mar 24 14:25:05.075: SSH1: protocol version id is - SSH-2.0-OpenSSH_9.0p1 Ubuntu-1ubuntu7 <snip>
*Mar 24 14:25:07.370: %SEC_LOGIN-5-LOGIN_SUCCESS: Login Success [user: cisco] [Source: 10.10.10.10] [localport: 22] at 14:25:07 UTC Fri Mar 24 2023
*Mar 24 14:25:07.379: SSH2 1: channel open request *Mar 24 14:25:07.389: SSH2 1: env request
*Mar 24 14:25:07.389: SSH2 1: subsystem request *Mar 24 14:25:07.389: SSH2 1: subsystem message received
*Mar 24 14:25:07.389: SSH2 1: searching for subsystem sftp for vty
*Mar 24 14:25:07.490: SSH1: Session terminated normally
7. Tot slot wordt SCP met de optie -O succesvol.
jeff@jeff-virtual-machine:~$ scp -O test.txt cisco@192.0.2.1:test.txt
(cisco@192.0.2.1) Password:
test.txt 100% 28 2.7KB/s 00:00