Archiwa tagu: ssh

Bash + SSH: jak sprawdzić czy można wykonać zdalne polecenie ssh z bash-a (skrypty)?

Prędzej czy później każdy administrator stara się optymalizować swoją pracę przez pisanie skryptów automatyzujących jego pracę. Cześć skryptów zapewnie będzie wykonywała zdalne polecenia przez ssh (nie wszędzie można instalować własne oprogramowanie, nie wszędzie jest Bash). Jeżeli pracujemy w środowisku z wieloma administratorami wypadałoby też sprawdzać w skryptach, czy mamy połączenie do zdalnych systemów.
Jak to można zrobić?

Najprościej użyć kodu błędu ostatniego polecenia ;). W skryptach przeważnie też nie należy pytać o hasło do zdalnej maszyny ;).

user@ubuntu:~$ ssh -o PasswordAuthentication=no root@192.168.1.12 "date"
Thu Jul 29 02:04:21 CDT 2011
user@ubuntu:~$ ssh -o PasswordAuthentication=no root@192.168.1.12 "date" > /dev/null 2>&1; echo $?
0
user@ubuntu:~$ ssh -o PasswordAuthentication=no root@192.168.1.12 "date2" > /dev/null 2>&1; echo $?
127
user@ubuntu:~$ ssh -o PasswordAuthentication=no root@alamakota "date2" > /dev/null 2>&1; echo $?
255

Używanie ssh na linuksie i historia co było robione

W windowsowym programie Putty jest ciekawa opcja pozwalająca zapisywać wszystko co robiliśmy w danej sesji. Ciekawiło mnie, czy jest to także możliwe w linuskie. I co? jest to banalne choć na początek upierdliwe ;). Ogólna idea jest bardzo prosta, należy przesłać strumień do kolejnego programu, którym będzie tee!:

ssh uzytkwonik@server | tee plik_logu.txt

Wypadałoby pliki historii tworzyć z uwzględnienem nazwy serwera i daty, więc prosi się o mały skrypt do tego. Ale to już zostawiam wam jako samodzielną pracę…

Linux – ssh – sprawdzanie poprawności kluczy w authorized_keys

Czasamy  kopiujemy klucze publiczne między serwerami, jak jednak sprawdzić czy klucze są poprawne?

[root@centos .ssh]# ssh-keygen -B -f authorized_keys
2048 xonip-tihir-cezol-bahuf-tanyh-lehum-vapon-hucet-telid-venyv-luxax authorized_keys
[root@centos .ssh]# ssh-keygen -B -f authorized_keys_fails
key_read: uudecode AAAAB3NzaC1yc2EAAAABIwAAAQEAonUZYUEc4bTAg6MQSuEgHNmWdKYsmk4krXO0eOL+lC+H4NcIetzY8zzuoGd0tgpQq/DnD3LkMdRmgez/pczsm9UnOsIcG+tQia/l22+aXcm5qUNEYLRka+kcoSjeHe5d6g5f8zoDvJ62x050+W77BkAUBJ3DoTLfDfN9nd+3a50axhWewh1aE19xen3uGlCCPLzRHwfzI3VWdcFUtbw0Fy/EDWhq5HOmm8McZKX2aisOtfMRgRc91sVxd3g/pdoOiw9l/ziZAS7+68dKnqHfx9om741Ua1NmX9XXhwBIFzlKwMTeHqOr15uM5HIfS/u+x+suG2+P+gKjwO+nuviyfQ= krzysztof.jozwiak@linuxexpert.pl
failed
authorized_keys_fails is not a public key file.