Permalänk

Python SSH (paramiko)

Så jag försöker att ansluta via SSH till en cisco switch.

C:\Users\Frejoh466\Desktop\Python>connect.py C:\Python27\lib\site-packages\paramiko\client.py:837: UserWarning: Unknown ssh-rsa host key for xx.xx.xx.xx: 984b3c6d1039b83057d795a816a48215 key.get_name(), hostname, hexlify(key.get_fingerprint())   C:\Users\Frejoh466\Desktop\Python>

Det fungerar fint när jag ansluter på en switch i nätverket, men när jag ansluter direkt så fungerar det inte

C:\Users\Frejoh466\Desktop\Python>connect.py C:\Python27\lib\site-packages\paramiko\client.py:837: UserWarning: Unknown ssh-rsa host key for 192.168.1.254: 840b77bcf44df6909b6d32e471c08ddf key.get_name(), hostname, hexlify(key.get_fingerprint()) Traceback (most recent call last): File "C:\Users\Frejoh466\Desktop\Python\connect.py", line 17, in <module> client.connect(IP, PORT, CISCO, CISCO) File "C:\Python27\lib\site-packages\paramiko\client.py", line 446, in connect passphrase, File "C:\Python27\lib\site-packages\paramiko\client.py", line 764, in _auth raise saved_exception paramiko.ssh_exception.BadAuthenticationType: Bad authentication type; allowed types: [u'']

Log:

DEB [20191126-13:50:30.381] thr=1 paramiko.transport: starting thread (client mode): 0x6613da0L DEB [20191126-13:50:30.381] thr=1 paramiko.transport: Local version/idstring: SSH-2.0-paramiko_2.6.0 DEB [20191126-13:50:30.434] thr=1 paramiko.transport: Remote version/idstring: SSH-2.0-OpenSSH_7.3p1.RL INF [20191126-13:50:30.434] thr=1 paramiko.transport: Connected (version 2.0, client OpenSSH_7.3p1.RL) DEB [20191126-13:50:30.733] thr=1 paramiko.transport: kex algos:[u'diffie-hellman-group-exchange-sha1', u'diffie-hellman-group1-sha1', u'diffie-hellman-group14-sha1'] server key:[u'ssh-rsa', u'ssh-dss'] client encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'chacha20-poly1305@openssh.com'] server encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'chacha20-poly1305@openssh.com'] client mac:[u'hmac-sha1'] server mac:[u'hmac-sha1'] client compress:[u'none'] server compress:[u'none'] client lang:[u''] server lang:[u''] kex follows?False DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Kex agreed: diffie-hellman-group-exchange-sha1 DEB [20191126-13:50:30.743] thr=1 paramiko.transport: HostKey agreed: ssh-rsa DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Cipher agreed: aes128-ctr DEB [20191126-13:50:30.743] thr=1 paramiko.transport: MAC agreed: hmac-sha1 DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Compression agreed: none DEB [20191126-13:50:31.046] thr=1 paramiko.transport: Got server p (2048 bits) DEB [20191126-13:50:31.480] thr=1 paramiko.transport: kex engine KexGex specified hash_algo <built-in function openssl_sha1> DEB [20191126-13:50:31.480] thr=1 paramiko.transport: Switch to new keys ... DEB [20191126-13:50:32.079] thr=1 paramiko.transport: userauth is OK DEB [20191126-13:50:32.382] thr=1 paramiko.transport: Authentication type (password) not permitted. DEB [20191126-13:50:32.382] thr=1 paramiko.transport: Allowed methods: [u''] DEB [20191126-13:50:32.483] thr=1 paramiko.transport: EOF in transport thread

Koden:

#!/usr/bin/env python # -*- coding: utf-8 -*- import paramiko, sys   IP = '192.168.1.254' PORT = 22 CISCO = 'cisco'   # Paramiko setup paramiko.util.log_to_file("paramiko.log") client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.WarningPolicy())   # Connect to Cisco client.connect(IP, PORT, CISCO, CISCO)   client.close() sys.exit()

Någon som vet varför det inte fungerar när jag ansluter direkt till cisco switchen?

Permalänk
Hedersmedlem
Skrivet av Frejoh466:

Det fungerar fint när jag ansluter på en switch i nätverket, men när jag ansluter direkt så fungerar det inte

Kan du förtydliga vad du menar här?

Permalänk
Medlem
Skrivet av Frejoh466:

Så jag försöker att ansluta via SSH till en cisco switch.

C:\Users\Frejoh466\Desktop\Python>connect.py C:\Python27\lib\site-packages\paramiko\client.py:837: UserWarning: Unknown ssh-rsa host key for xx.xx.xx.xx: 984b3c6d1039b83057d795a816a48215 key.get_name(), hostname, hexlify(key.get_fingerprint())   C:\Users\Frejoh466\Desktop\Python>

Det fungerar fint när jag ansluter på en switch i nätverket, men när jag ansluter direkt så fungerar det inte

C:\Users\Frejoh466\Desktop\Python>connect.py C:\Python27\lib\site-packages\paramiko\client.py:837: UserWarning: Unknown ssh-rsa host key for 192.168.1.254: 840b77bcf44df6909b6d32e471c08ddf key.get_name(), hostname, hexlify(key.get_fingerprint()) Traceback (most recent call last): File "C:\Users\Frejoh466\Desktop\Python\connect.py", line 17, in <module> client.connect(IP, PORT, CISCO, CISCO) File "C:\Python27\lib\site-packages\paramiko\client.py", line 446, in connect passphrase, File "C:\Python27\lib\site-packages\paramiko\client.py", line 764, in _auth raise saved_exception paramiko.ssh_exception.BadAuthenticationType: Bad authentication type; allowed types: [u'']

Log:

DEB [20191126-13:50:30.381] thr=1 paramiko.transport: starting thread (client mode): 0x6613da0L DEB [20191126-13:50:30.381] thr=1 paramiko.transport: Local version/idstring: SSH-2.0-paramiko_2.6.0 DEB [20191126-13:50:30.434] thr=1 paramiko.transport: Remote version/idstring: SSH-2.0-OpenSSH_7.3p1.RL INF [20191126-13:50:30.434] thr=1 paramiko.transport: Connected (version 2.0, client OpenSSH_7.3p1.RL) DEB [20191126-13:50:30.733] thr=1 paramiko.transport: kex algos:[u'diffie-hellman-group-exchange-sha1', u'diffie-hellman-group1-sha1', u'diffie-hellman-group14-sha1'] server key:[u'ssh-rsa', u'ssh-dss'] client encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'chacha20-poly1305@openssh.com'] server encrypt:[u'aes128-ctr', u'aes192-ctr', u'aes256-ctr', u'chacha20-poly1305@openssh.com'] client mac:[u'hmac-sha1'] server mac:[u'hmac-sha1'] client compress:[u'none'] server compress:[u'none'] client lang:[u''] server lang:[u''] kex follows?False DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Kex agreed: diffie-hellman-group-exchange-sha1 DEB [20191126-13:50:30.743] thr=1 paramiko.transport: HostKey agreed: ssh-rsa DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Cipher agreed: aes128-ctr DEB [20191126-13:50:30.743] thr=1 paramiko.transport: MAC agreed: hmac-sha1 DEB [20191126-13:50:30.743] thr=1 paramiko.transport: Compression agreed: none DEB [20191126-13:50:31.046] thr=1 paramiko.transport: Got server p (2048 bits) DEB [20191126-13:50:31.480] thr=1 paramiko.transport: kex engine KexGex specified hash_algo <built-in function openssl_sha1> DEB [20191126-13:50:31.480] thr=1 paramiko.transport: Switch to new keys ... DEB [20191126-13:50:32.079] thr=1 paramiko.transport: userauth is OK DEB [20191126-13:50:32.382] thr=1 paramiko.transport: Authentication type (password) not permitted. DEB [20191126-13:50:32.382] thr=1 paramiko.transport: Allowed methods: [u''] DEB [20191126-13:50:32.483] thr=1 paramiko.transport: EOF in transport thread

Koden:

#!/usr/bin/env python # -*- coding: utf-8 -*- import paramiko, sys   IP = '192.168.1.254' PORT = 22 CISCO = 'cisco'   # Paramiko setup paramiko.util.log_to_file("paramiko.log") client = paramiko.SSHClient() client.load_system_host_keys() client.set_missing_host_key_policy(paramiko.WarningPolicy())   # Connect to Cisco client.connect(IP, PORT, CISCO, CISCO)   client.close() sys.exit()

Någon som vet varför det inte fungerar när jag ansluter direkt till cisco switchen?

Kan ju ligga något i detta: DEB [20191126-13:50:32.382] thr=1 paramiko.transport: Authentication type (password) not permitted.

Antar att du försöker ansluta med lösenord? Ser ut som att du inte har host nyckeln som krävs för att få ansluta direkt.

Permalänk

@pv2b
Jag kan ansluta genom ip där den ligger på nätverket eg. 162.222.176.0 (wan) men inte om jag kopplar direkt till switchen

@wRRM
Men det är samma lösen på den andra switchen, configen ska vara samma på påda sweitcharna förutom den andra ligger på wan. Är det olika nycklar om man ansluter via lan eller wan?

Permalänk
Hedersmedlem
Skrivet av Frejoh466:

@pv2b
Jag kan ansluta genom ip där den ligger på nätverket eg. 162.222.176.0 (wan) men inte om jag kopplar direkt till switchen

Jag förstår fortfarande inte vad du menar, alltså det går bra när du ansluter till switchens WAN-adress men inte på LAN-adressen?

Permalänk

Om jag ansluter till switchen via internet så fungerar det. Ansluter jag via RJ45 kontakt direkt till switchen så fungera det inte.

PuTTY fungerar båda gångerna.

Permalänk
Medlem

[Borttaget, onödigt drygt ]

Vad händer om du kör en vanlig SSH-klient och försöker ansluta?

Antagligen behöver du använda key based authentication.

Du borde även fixa dina known hosts så att du vet att du inte blir drabbad av man-in-the-middle när du ansluter.

Permalänk
Medlem
Skrivet av Frejoh466:

https://i.imgur.com/rAZzcvt.jpg

Om jag ansluter till switchen via internet så fungerar det. Ansluter jag via RJ45 kontakt direkt till switchen så fungera det inte.

PuTTY fungerar båda gångerna.

Din switch borde inte vara nåbar från internet för säkerhet.

Permalänk
Skrivet av wRRM:

Din switch borde inte vara nåbar från internet för säkerhet.

Den är inte nåbar från internet, allt är i ett VPN.

Men just nu skiter jag i säkerhet och vill bara kunna ansluta via SSH till switchen med direkt koppling via RJ45 uttaget från datorn till switchen. Behöver bara kunna ansluta en gång så är det bra.

Men ingen som vet varför den avslår SSH anslutningen när det borde fungera?