Tak wygląda mój plik .command
ssh someuser@someip.com
Kiedy uruchamiam właśnie to, monituje mnie o hasło, jak sprawić, by terminal wprowadził hasło zamiast mnie wpisywać? Próbowałem tego:
ssh someuser@someip.com
password
Ale to nie działa.
Możesz przechowywać klucze ssh lub hasło w pliku ~ / .ssh / config (zobacz man ssh_config
szczegóły), ale byłoby to trochę oszustwem, ponieważ tak naprawdę nie ma go w pliku .command.
Można oczywiście skrypty dodawać (i opcjonalnie usuwać) wpisy potrzebne do modyfikacji kluczy ssh lub zmian w pliku konfiguracyjnym.
Zrobiłbym prosty skrypt skryptowy - aby poczekać na monit o hasło, a następnie wprowadzić hasło.
#!/usr/bin/expect -f
set bad_idea cleartext_passwords_are_insecure
set timeout -1
# now connect using ssh
spawn ssh user@example.com
expect "*?assword:*"
send -- "$bad_idea\r"
send -- "\r"
expect elf
Nie używasz zmiennej $ bad_idea i możesz po prostu wysłać hasło przed \r