MacBook Pro 15" 2018, 32G RAM, OS 12.3
La semana pasada estaba tratando de conectar un script a una base de datos en mi host web a través de SSH, y ejecuté el siguiente script:
<?php
shell_exec("ssh -f -L 3307:127.0.0.1:3306 username@00.000.000.00 sleep 60 >> logfile");
$db = mysqli_connect('127.0.0.1', 'db_user', 'db_pass', 'test_ssh', 3307);
if (!$db) {
die("DB connection failed: " . mysqli_connect_error());
} else {
echo "Successfully connected!";
}
?>
Después de eso, no puedo SSH (o SFTP) en la cuenta de alojamiento web. Aquí está la salida verbosa:
My-MacBook-Pro:~ tech01$ ssh -vvvv -i ~/.ssh/id_rsa username@00.000.000.00
OpenSSH_8.6p1, LibreSSL 2.8.3
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug2: resolve_canonicalize: hostname 00.000.000.00 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/tech01/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/tech01/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug3: ssh_connect_direct: entering
debug1: Connecting to 00.000.000.00 [00.000.000.00] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x48
debug1: Connection established.
debug1: identity file /Users/tech01/.ssh/id_rsa type 0
debug1: identity file /Users/tech01/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
kex_exchange_identification: read: Connection reset by peer
Connection reset by 00.000.000.00 port 22
My-MacBook-Pro:~ tech01$
No había nada en los registros del sistema o del WiFi, pero esto estaba en el registro de launchd:
2022-03-29 23:13:42.497859 (com.openssh.sshd) <Error>: Unknown key for plist importer (key: SHAuthorizationRight type: string)
Aquí está la salida de: netstat -anvp tcp | awk 'NR<3 || /LISTEN/'
Proto Recv-Q Send-Q Local Address Foreign Address (state) rhiwat shiwat pid epid state options
tcp4 0 0 127.0.0.1.49179 *.* LISTEN 131072 131072 796 0 0x0100 0x00000002
tcp4 0 0 127.94.0.1.946 *.* LISTEN 131072 131072 100 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49166 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49165 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49164 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49163 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49162 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49161 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49160 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49159 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49158 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49157 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49156 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp6 0 0 fe80::aede:48ff:.49155 *.* LISTEN 131072 131072 104 0 0x0180 0x00000006
tcp46 0 0 *.49152 *.* LISTEN 131072 131072 516 0 0x0080 0x00000006
tcp4 0 0 *.22 *.* LISTEN 131072 131072 1 0 0x0180 0x00000006
tcp6 0 0 *.22 *.* LISTEN 131072 131072 1 0 0x0180 0x00000006
Aquí la salida de: sudo lsof -i :22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 8u IPv6 0x4914d8db57e256b7 0t0 TCP *:ssh (LISTEN)
launchd 1 root 9u IPv4 0x4914d8e02411ce2f 0t0 TCP *:ssh (LISTEN)
launchd 1 root 11u IPv6 0x4914d8db57e256b7 0t0 TCP *:ssh (LISTEN)
launchd 1 root 12u IPv4 0x4914d8e02411ce2f 0t0 TCP *:ssh (LISTEN)
Lo que he probado:
- Copié las claves RSA a mi viejo iMac con High Sierra y se conectó sin problemas. No es el servidor remoto.
- Comprobado los permisos de los archivos
- Reinstalado OS 12.3
- IPv6 deshabilitado
- Descargado/recargado el ssh.plist y reiniciado SSH
- Desactivar el firewall del Mac
- Buscar en Google el error o los errores durante dos días
- Matando el PID 1 en la consola. Reinició el portátil y no funcionó.
¿Dónde se produce exactamente el fallo? Veo un par de líneas diferentes en la salida verbose que podrían serlo, pero no estoy seguro, así que no sé dónde concentrar mis esfuerzos. Mi siguiente paso es reimaginar el portátil.