W moim systemie Fedora 20 często używam scp i po raz drugi napotykam to, kiedy uruchamiam to polecenie:
scp -r -P PORT user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/
prosi mnie o hasło do każdego przesyłanego pliku / katalogu.
user@host's password: "password here"
Pytanie:
Co tu się dzieje?
Czy to normalne, pomyślałbym, że to bardzo osobliwe zachowanie?
źródło
id.rsa
Będzie mieć600
uprawnienia domyślnie issh
nawet nie będzie działać, jeśli nie. Oznacza to, że jest bezpieczny dla każdego, aleroot
nic nie jest naprawdę bezpieczneroot
, na pewno nie hasła.ssh-keygen
a 2) ssh / scp będzie narzekać i prosić o hasło, jeśli plik jest czytelny dla kogoś innego. Przynajmniej w systemie Linux.scp
nie jest zbyt mądry: gdy podano wiele argumentów wiersza poleceń, które są plikami z tego samego zdalnego hosta, otwiera nowe połączenie dla każdego argumentu.Możesz użyć
rsync
zamiastscp
, jest mądrzejszy w ten sposób (i na inne sposoby).Innym podejściem jest przekazanie jednego argumentu
scp
opisującego wiele plików .Innym podejściem jest takie skonfigurowanie systemu, aby nie trzeba było cały czas uwierzytelniać. Najlepiej skonfiguruj uwierzytelnianie klucza , które w większości scenariuszy jest zarówno wygodniejsze, jak i bezpieczniejsze. Alternatywnie lub dodatkowo skonfiguruj udostępnianie połączenia , aby uwierzytelnianie odbywało się tylko raz na sesję. W każdym razie skonfiguruj alias, aby nie trzeba było podawać nazwy użytkownika i portu za każdym razem. W twoim
~/.ssh/config
:Uruchom,
ssh -Nf nick
aby otworzyć połączenie, a następnie wszystkie kolejne połączenianick
przekierują na istniejące połączenie. Teraz możesz po prostu biegaćźródło