Jeśli uruchomię to:
ssh user@server 'mysql -u user -p'
Gdy poprosi mnie o hasło MySQL i zacznę pisać, hasło jest widoczne na ekranie. Jak mogę temu zapobiec? Jeśli zaloguję się, ssh
a następnie wykonam polecenie MySQL, wszystko działa poprawnie.
Odpowiedzi:
Jeśli podasz zdalne polecenie do uruchomienia, SSH nie przydzieli tty, więc zdalne polecenie nie może wyłączyć echa. Możesz zmusić SSH do udostępnienia tty za pomocą
-t
opcji:Odpowiednią opcją (dla
-o
lub dla pliku konfiguracyjnego) jestRequestTTY
. Przestrzegałbym przed użyciem go w konfiguracji, ponieważ może mieć niepożądane skutki dla poleceń nieinteraktywnych .źródło
RequestTTY
wman 5 ssh_config
.Przechowywanie hasła w chronionym pliku opcji
Jeśli możesz zaufać bezpieczeństwu komputera zdalnego [*] , możesz przechowywać hasło w odpowiednio chronionym pliku opcji, zgodnie z sugestią zawartą w rozdziale Wskazówki dla użytkownika końcowego dotyczące bezpieczeństwa hasła , bez potrzeby komunikowania się
ssh
lub wpisywania każdego z nich czas.W szczególności możesz dodać wiersz w sekcji [klient] pliku
.my.cnf
w katalogu domowym:Oczywiście musisz uniemożliwić dostęp do tego pliku każdemu poza tobą, ustawiając tryb dostępu do pliku na 400 lub 600 za pomocą np.
Następnie możesz użyć czegoś takiego
gdzie
user110971
jest nazwa użytkownika twojego konta.Zmuszanie ssh do przydzielenia pseudo tty (
ssh -t
)Ten problem występuje za każdym razem, gdy wysyłasz komendę
ssh
i musisz wstawić dane wejściowe, ponieważ domyślniessh
nie przydzielisz pseudo-tty.Możesz wymusić alokację tty z opcją
-t
(w razie potrzeby nawet więcej niż jedną):Jak można przeczytać w tym poście Debiana (Jul_11_2008) o
sudo
, jest to stary problem, który kocha się powtarzać:Uwaga:
[*] Jeśli możesz polegać na pozostawieniu hasła w pliku dostępnym tylko dla Ciebie i rootowaniu na działającym kliencie.
Jeśli można zrestartować komputer zdalny, zmieniając system operacyjny lub usunąć dysk twardy, komputera nie można uznać za całkowicie bezpieczny ... ale w takim przypadku sama baza danych nie będzie bezpieczna.
źródło
Cenna jest również opcja montowania „hidepid” dla proc fs. To sprawia, że twoje wiersze poleceń są niewidoczne na liście procesów dla innych użytkowników. przykład fstab:
źródło