ssh tricks
Когда виснет ssh после потери коннекта
Когда при потере соединения ssh-клиент зависает (и замораживает терминал) нужно ввести в замороженном терминале ~.
то есть нажать shift+` . после этих символов ssh-клиент завершится несмотря на свои внутренние таймауты
Как узнать кто из админов сейчас на сервере
Админы заходят на сервера сразу как root, поэтому не очень легко понять кто конкретно сейчас работает на сервере
Можно сделать следующим образом:
Смотрим на вывод команды w
:
i.dudin_pro@db13y:~$ w
22:43:12 up 5:12, 2 users, load average: 0.38, 0.71, 1.25
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.27.249.190 21:44 59.00s 0.31s 0.31s -bash
i.dudin_ pts/1 172.27.0.22 22:27 0.00s 0.43s 0.01s sshd: i.dudin_pro [priv]
Видим там ip-адрес
Ищем этот ip в auth.log:
i.dudin_pro@db13y:~$ sudo grep '172.27.249.190' /var/log/auth.log
Mar 16 21:44:18 db13y sshd[24290]: Accepted publickey for root from 172.27.249.190 port 59107 ssh2: RSA 5c:88:17:2b:e8:62:ad:c5:cc:32:c4:f2:e0:0e:bb:db
Mar 16 22:47:46 db13y sudo: i.dudin_pro : TTY=pts/1 ; PWD=/home/i.dudin_pro ; USER=root ; COMMAND=/bin/grep 172.27.249.190 /var/log/auth.log
Видим там отпечаток ключа с которым подключался админ
Дальше можно выполнить вот такую штуку. Она выдаст отпечатки на основе ключей (отпечатки будут в том порядке, в котором они указаны в authorized_keys):
i.dudin_pro@db13y:~$ sudo cat /root/.ssh/authorized_keys | xargs -I% bash -c 'ssh-keygen -l -f /dev/stdin <<<"%"'
4096 26:c0:4f:97:c9:15:7a:38:9c:52:2c:97:b2:18:5d:24 /dev/stdin (RSA)
4096 89:87:b1:92:ca:d3:f3:4c:c1:ec:f3:f0:43:6f:ad:e6 /dev/stdin (RSA)
4096 d3:96:ca:42:95:1d:ab:4c:c4:c9:6b:01:09:96:79:5e /dev/stdin (RSA)
4096 82:2b:49:a7:c1:72:06:4e:1f:21:c2:f6:3c:ae:f0:f6 /dev/stdin (RSA)
4096 c4:11:53:10:2e:e0:d3:6a:b7:5e:0f:48:10:6b:fc:28 /dev/stdin (RSA)
4096 8e:df:71:3a:39:cd:ca:41:23:5c:96:87:aa:66:f7:a8 /dev/stdin (RSA)
4096 38:05:c0:7d:ea:78:d1:79:1c:71:f8:51:bb:6b:57:a6 /dev/stdin (RSA)
2048 5c:88:17:2b:e8:62:ad:c5:cc:32:c4:f2:e0:0e:bb:db /dev/stdin (RSA)
В полученном списке находим подходящий отпечаток (в нашем случае это самый последний ключ):
i.dudin_pro@db13y:~$ sudo cat /root/.ssh/authorized_keys | tail -n1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJ************************************************************************ZV4hkYxqdXrjzwB8IMLegLc/CQjSbGAzcafbHE9iOs1 root_a.seliverstov
Теперь нам известно кто именно сейчас ломает сервер
No Comments