Я больше не могу войти по SSH в машину, к которой у меня есть проводное соединение. Как я могу войти обратно?

Я разрабатываю программное обеспечение на специальной плате под управлением linux. Я получаю доступ к этой плате через ssh по проводному соединению. У меня есть адаптер usb-ethernet на моей машине, а затем кабель ethernet подключается к этой пользовательской плате. Я настроил ssh-ключи, чтобы не вводить пароль каждый раз. Все работало нормально, пока я не подключился к Интернету с этой платой и не запустил git pull для обновления программного обеспечения на ней. (Это сработало отлично). После того как я изменил ip-адрес на ручной и вернул старый ip, я получил предупреждение о смене хоста. Это из интернета, так что ip не совпадает, но выглядело это примерно так:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
51:82:00:1c:7e:6f:ac:ac:de:f1:53:08:1c:7d:55:68.
Please contact your system administrator.
Add correct host key in /Users/isaacalves/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/isaacalves/.ssh/known_hosts:12
RSA host key for 104.131.16.158 has changed and you have requested strict checking.
Host key verification failed.

У меня постоянно спрашивают пароль, когда я пытаюсь войти в ssh, хотя этого не должно быть. Самая необычная часть заключается в том, что когда я ввожу пароль, он его не принимает. Как я могу узнать, что это правильный пароль? Потому что я использую экран для последовательного входа на форум и вошел в систему с этим паролем через экран. Я могу получить доступ к плате (хост) через экран, просто экран очень медленный, и мне нужен ssh для vscode и других вещей.

Я даже удалил ssh-клиент на своей машине и установил его заново. Ничего. Я удалил папку known_hosts на своей машине, но это не помогло. Хост может ssh на свой собственный IP-адрес (не loopback), поэтому я считаю, что он принимает запросы ssh. (Если только там нет короткого замыкания и он на самом деле не использует ssh, когда использует свой собственный IP. Но я думаю, что это так).

При необходимости я могу получить доступ к файлам хоста и клиента. Я застрял на этом в течение 3 дней из-за моей работы, поэтому любая помощь будет очень признательна. Я опубликую столько полезных вещей, сколько смогу придумать.

Попытка SSH:

ellis77@CB461-EE10955:~/.ssh$ ssh root@169.254.132.152 -vvv
OpenSSH_8.2p1 Ubuntu-4ubuntu0.2, OpenSSL 1.1.1f  31 Mar 2020
debug1: Reading configuration data /home/ellis77/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolve_canonicalize: hostname 169.254.132.152 is address
debug2: ssh_connect_direct
debug1: Connecting to 169.254.132.152 [169.254.132.152] port 22.
debug1: Connection established.
debug1: identity file /home/ellis77/.ssh/id_rsa type 0
debug1: identity file /home/ellis77/.ssh/id_rsa-cert type -1
debug1: identity file /home/ellis77/.ssh/id_dsa type -1
debug1: identity file /home/ellis77/.ssh/id_dsa-cert type -1
debug1: identity file /home/ellis77/.ssh/id_ecdsa type -1
debug1: identity file /home/ellis77/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/ellis77/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/ellis77/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/ellis77/.ssh/id_ed25519 type -1
debug1: identity file /home/ellis77/.ssh/id_ed25519-cert type -1
debug1: identity file /home/ellis77/.ssh/id_ed25519_sk type -1
debug1: identity file /home/ellis77/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/ellis77/.ssh/id_xmss type -1
debug1: identity file /home/ellis77/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.2p1 Ubuntu-4ubuntu0.2
debug1: match: OpenSSH_8.2p1 Ubuntu-4ubuntu0.2 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 169.254.132.152:22 as 'root'
debug3: hostkeys_foreach: reading file "/home/ellis77/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/ellis77/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys from 169.254.132.152
debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,ssh-ed25519,sk-ssh-ed25519@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:DJTgdLuz5rpLWLc/y2M7YJMqKu8g77Orjn3CyoRreoU
debug3: hostkeys_foreach: reading file "/home/ellis77/.ssh/known_hosts"
debug3: record_hostkey: found key type ECDSA in file /home/ellis77/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys from 169.254.132.152
debug1: Host '169.254.132.152' is known and matches the ECDSA host key.
debug1: Found key in /home/ellis77/.ssh/known_hosts:1
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /home/ellis77/.ssh/id_rsa RSA SHA256:rk0afdhz18RlnxGQ0ejIyPKXNUnLvHDEv3BTu9u1kLY agent
debug1: Will attempt key: /home/ellis77/.ssh/id_dsa 
debug1: Will attempt key: /home/ellis77/.ssh/id_ecdsa 
debug1: Will attempt key: /home/ellis77/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /home/ellis77/.ssh/id_ed25519 
debug1: Will attempt key: /home/ellis77/.ssh/id_ed25519_sk 
debug1: Will attempt key: /home/ellis77/.ssh/id_xmss 
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/ellis77/.ssh/id_rsa RSA SHA256:rk0afdhz18RlnxGQ0ejIyPKXNUnLvHDEv3BTu9u1kLY agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/ellis77/.ssh/id_dsa
debug3: no such identity: /home/ellis77/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/ellis77/.ssh/id_ecdsa
debug3: no such identity: /home/ellis77/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/ellis77/.ssh/id_ecdsa_sk
debug3: no such identity: /home/ellis77/.ssh/id_ecdsa_sk: No such file or directory
debug1: Trying private key: /home/ellis77/.ssh/id_ed25519
debug3: no such identity: /home/ellis77/.ssh/id_ed25519: No such file or directory
debug1: Trying private key: /home/ellis77/.ssh/id_ed25519_sk
debug3: no such identity: /home/ellis77/.ssh/id_ed25519_sk: No such file or directory
debug1: Trying private key: /home/ellis77/.ssh/id_xmss
debug3: no such identity: /home/ellis77/.ssh/id_xmss: No such file or directory
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
root@169.254.132.152's password: 

После ввода правильного пароля (который он не должен запрашивать):

root@169.254.132.152's password: 
debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
root@169.254.132.152's password: 

Вот часть файла sshd_config с хоста. Обратите внимание, что аутентификация пароля в настоящее время включена, но я отключил ее и перезапустил службу ssh, и она все равно запросила его.

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin


# Logging
SyslogFacility AUTH
LogLevel VERBOSE

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no

И, наконец, разрешение обоих каталогов ssh: Клиент:

drwxrwxr-x  2 ellis77 ellis77 4096 Jun 17 10:08 .
drwxr-xr-x 27 ellis77 ellis77 4096 Jun 17 09:58 ..
-rw-r--r--  1 ellis77 ellis77    0 Jun 17 10:07 config
-rw-------  1 ellis77 ellis77 2610 Jun 17 09:59 id_rsa
-rw-------  1 ellis77 ellis77  575 Jun 17 09:59 id_rsa.pub
-rw-r--r--  1 ellis77 ellis77  222 Jun 17 10:08 known_hosts

Хост:

drwxr-xr-x  2 root root   4096 Sep 14  2020 .
drwxr-xr-x 38 root root   4096 Jun 15 13:01 ..
-rw-r--r--  1 root root 525809 Aug 31  2020 moduli
-rw-r--r--  1 root root   1484 Sep 15  2020 ssh_config
-rw-------  1 root root   1381 Sep 14  2020 ssh_host_dsa_key
-rw-r--r--  1 root root    600 Sep 14  2020 ssh_host_dsa_key.pub
-rw-------  1 root root    505 Sep 14  2020 ssh_host_ecdsa_key
-rw-r--r--  1 root root    172 Sep 14  2020 ssh_host_ecdsa_key.pub
-rw-------  1 root root    399 Sep 14  2020 ssh_host_ed25519_key
-rw-r--r--  1 root root     92 Sep 14  2020 ssh_host_ed25519_key.pub
-rw-------  1 root root   2590 Sep 14  2020 ssh_host_rsa_key
-rw-r--r--  1 root root    564 Sep 14  2020 ssh_host_rsa_key.pub
-rw-r--r--  1 root root   3126

Спасибо заранее. Я буду рад предоставить любую другую необходимую информацию.

Наконец, для подтверждения ip хоста:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.132.152  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::20a:35ff:fe00:122  prefixlen 64  scopeid 0x20<link>
        ether 00:0a:35:00:01:22  txqueuelen 1000  (Ethernet)
        RX packets 1  bytes 46 (46.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 381  bytes 16730 (16.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 27  base 0xb000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 212  bytes 18477 (18.0 KiB)

Edit: I just logging in SSH with my laptop (with no keys set setup on my laptop) and it accepted the password. Так что проблема, похоже, связана с моей рабочей машиной.

1
задан 17 June 2021 в 21:05

1 ответ

Итак, это было очень глупо, но тонко. После того, как я разделил интернет с платой и запустил dhcpcd, я установил IP-адрес USB Ethernet соединения обратно в ручной режим и установил адрес 169.254.132.152... который был таким же, как у платы, к которой я пытался подключиться по SSH. Ошибка новичка. Это должен быть другой адрес, который будет таким же после маскирования маской сети... например, 169.254.132.150. Тогда мы находимся на одной маске, но не используем один и тот же адрес. Это объясняет, почему я мог пинговать, и почему он не принимал мой "пароль", потому что я входил по ssh в свое соединение... а не в свою плату.

Совет: Когда вы меняете IP-адрес подключения, убедитесь, что вы отключили USB и подключили его обратно, чтобы он обновился.

1
ответ дан 28 July 2021 в 11:27

Другие вопросы по тегам:

Похожие вопросы: