Jak mogę SSH ze zdalnym serwerem, aby móc przeglądać pliki i edytować je? Mam nazwę użytkownika i hasło do użycia.
SSH jest domyślnie dostępny we wszystkich wersjach Ubuntu, więc oszczędzasz na instalowaniu go (+1 za to, że już tam jest;))
Z wyjątkiem oczywiście przypadku, gdy chcesz mieć serwer SSH dla swojego serwera Ubuntu. W takim przypadku zrobiłbyś to
sudo apt-get install openssh-server
co powinno uczynić twój komputer / serwer gotowym na serwer ssh.
Korzystanie z niego jest dość łatwe:
ssh USER@SITE
na przykład, jeśli moja nazwa użytkownika to cyrex, a strona to ubuntu.com , zrobiłbyś to:
ssh [email protected]
Powiedzmy teraz, że chcesz skopiować plik wywoływany bubblegum.txt
z komputera na stronę Ubuntu i chcesz zostawić ten plik w /var/www
folderze na stronie Ubuntu. możesz to zrobić (zakładając, że użytkownik ma wystarczającą liczbę uprawnień na stronie Ubuntu), używając Brother SSH, SCP (który jest również domyślnie dostępny w Ubuntu):
scp bubblegum.txt [email protected]:/var/www
Zwróć uwagę :
między USER @ SITE a folderem, w którym chcesz go skopiować. To ten, który oddziela oba elementy.
Powiedzmy teraz, że przesyłasz ogromny plik za pomocą scp, a wtedy dzieje się najgorsze, świat eksploduje. Jak możesz dalej przesyłać ten plik na serwer. Potem masz starszego brata SCP, rsync (domyślnie w Ubuntu). Na wiele sposobów scp i rsync robią to samo, ale są między nimi duże różnice:
W każdym razie, w przypadku, gdy scp nie mógł załadować całego pliku, rsync przychodzi na ratunek. (Podziękowania dla Marco Ceppi za wskazówkę. Głosujcie na jego komentarz, jeśli lubicie koty ... i / lub psy)
Powiedzmy, że zrobiłeś wzmiankę o przesyłaniu powyżej z scp i osiągnął 60%. Jak możesz kontynuować w tych 60%, nie tracąc czasu na przesyłanie. Zrobiłbyś to:
rsync --progress --partial bubblegum.txt [email protected]:/var/www
To mówi rsync, aby pokazał postęp w przyjemny dla człowieka sposób za pomocą --progress
flagi. Mówi także rsync, aby sprawdził i kontynuował od miejsca, w którym plik bubblegum.txt dotarł z --partial
flagą. Możesz także uprościć ilość do zapisania za pomocą parametru -P, który jest taki sam jak --progress i --partial, więc powyższe wygląda następująco:
rsync -P bubblegum.txt [email protected]:/var/www
Możesz nawet CTRL+ Cprzesłać i wznowić, wykonując polecenie z rsync powyżej. Bardzo fajnie mieć możliwość wznowienia czegoś w dowolnym momencie i dowolnej ilości razy.
Aby uzyskać więcej informacji o rsync, który jest domyślnie dostarczany z Ubuntu, możesz wpisać następujące polecenia terminala:
man rsync
info rsync
rsync --help
Teraz określ port dla SSH. Aby to określić, możesz to zrobić w następujący sposób:
ssh [email protected] -p PORT
. Na przykład: ssh [email protected] -p 1234
aby powiedzieć mu, aby używał portu 1234 dla usługi SSH. Aby to działało, należy to najpierw skonfigurować na serwerze.
Aby go skonfigurować, po prostu otwórz na serwerze plik ssh_config w następujący sposób: nano /etc/ssh/ssh_config
i zmień wiersz z komunikatem # port 22
na inny port. Pamiętaj również, aby usunąć komentarz z tego wiersza. Powinno to wyglądać tak: port 1234
w przypadku dla powyższego przykładu.
Teraz po prostu uruchom ponownie usługę ssh na serwerze i gotowe. Aby ponownie uruchomić usługę, wykonaj następujące czynności:
sudo restart ssh
lub
sudo /etc/init.d/ssh restart
UWAGA - Możesz również użyć SSH z narzędzi GUI, takich jak filezilla
które oferują opcję użycia ssh zamiast ftp. Dostęp do ssh można również uzyskać z poziomu menu Ubuntu:
który daje dostęp do kilku opcji, w tym udostępniania systemu Windows, SSH i FTP :
Aby uzyskać więcej informacji o SSH, możesz użyć jednego z następujących poleceń w konsoli w polu Ubuntu:
man ssh
info ssh
ssh --help
Jeśli chcesz przeglądać serwer za pomocą Nautilus, tak jak w przypadku plików na komputerze lokalnym:
Przejdź do „Plik” -> „Połącz z serwerem”
Wybierz „SSH” w „Rodzaj usługi”
Umieść adres IP lub domenę w polu „Serwer”
Dodaj swoją nazwę użytkownika i zaznacz „Dodaj zakładkę”, jeśli chcesz zapisać lokalizację w swoich zakładkach.
Folder powinien otworzyć się właśnie dla Ciebie.
źródło
Możesz użyć
sshfs
do zamontowania zdalnego katalogu w lokalnym systemie plików.Zobacz https://help.ubuntu.com/community/SSHFS :
Korzystanie z wiersza polecenia
Teraz, zakładając, że masz serwer SSH działający na zdalnym komputerze, po prostu uruchom komendę SSHFS, aby zamontować katalog zdalny. W tym przykładzie zdalny katalog to / projects na zdalnym hoście daleko. Lokalny punkt montowania to ~ / far_projects.
Aby odmontować,
Aby dodać go do pliku / etc / fstab,
Zauważ, że musisz zmienić $ USER na swoją nazwę użytkownika podczas edycji fstab, ale nie jest to konieczne podczas wpisywania poleceń (w tym przypadku powłoka robi to za Ciebie).
źródło
Zakładając, że serwer ssh jest już skonfigurowany, otwórz terminal i wpisz:
Zostaniesz poproszony o podanie hasła; po prostu wpisz to. Jeśli potrzebujesz numeru portu, dodaj
-p PORTNUM
.źródło
Jeśli możesz użyć Vima, Pico itp., Możesz użyć terminala:
Podaj hasło i już jesteś. Stamtąd jest jak zwykły terminal, tyle że nie masz GUI.
Uwaga, można dodać opcję „-x”, a jeśli serwer posiada skonfigurowany serwer X, to można uruchamiać programy GUI. Po prostu wpisz ich nazwę, jeśli dodałeś -X, a otworzy się okno GUI.
Teraz prawdopodobnie będziesz chciał skonfigurować logowanie bez hasła. Jeśli nie masz jeszcze klucza, wpisz
ssh-keygen
i po prostu naciśnij klawisz Enter, aby przejść do wszystkich wartości domyślnych. Więc zróbssh-copy-id [email protected]
. Gdy to zrobisz, po prostu wpiszssh [email protected]
i nie musisz wpisywać hasła!Jeśli nazwa użytkownika jest taka sama jak nazwa użytkownika laptopa, nie jest to konieczne
MYUSER@
. Możesz po prostu zrobićssh mysite.com
. Możesz także użyć tej-l MYUSER
opcji zamiastMYUSER@
Jeśli chcesz mieć GUI, Nautilus może to zrobić. Plik
->
Połącz z serwerem->
[wybierz „SSH”, a następnie wypełnij dane logowania]->
Połącz.Jeśli chcesz po prostu skopiować pojedynczy plik, użyj scp [bezpieczna kopia].
scp [email protected]:path/to/file.dat ./
Spowoduje to skopiowanie pliku „~ / path / to / file.dat” do bieżącego katalogu. Uwaga: jeśli nie masz ukośnika ani tyldy po
:
, będzie to działało tak, jakbyś był w swoim katalogu domowym [~/
]. Jeśli chcesz przesłać,scp ./local_file.dat [email protected]:
umieści to w twoim domu, reż.źródło
ssh -X -C user@host nautilus --no-desktop
przejść w tryb GUI :)źródło