SSH (ssh & rsync 명령)를 사용하는 방법?


44

원격 서버로 SSH를 사용하여 파일을 찾아보고 편집 할 수있는 방법은 무엇입니까? 사용할 사용자 이름과 비밀번호가 있습니다.

답변:


49

SSH 는 기본적으로 모든 우분투 버전에서 제공되므로 설치하지 않아도됩니다 (이미 설치되어 있으면 +1).

물론 우분투 서버에 SSH 서버를 원하는 경우는 예외입니다. 이 경우에는

sudo apt-get install openssh-server 

컴퓨터 / 서버를 ssh 서버로 준비해야합니다.

그것을 사용하는 것은 매우 쉽습니다 :

ssh USER@SITE예를 들어 내 사용자 이름이 cyrex 이고 사이트가 ubuntu.com 인 경우 다음을 수행하십시오.

ssh cyrex@ubuntu.com

이제 bubblegum.txt컴퓨터에서 불러 온 파일 을 우분투 사이트 로 복사하고 해당 파일을 /var/www우분투 사이트 의 폴더에 남겨두고 싶다고 가정 하겠습니다. SSH의 Brother SCP 를 사용하여 (사용자가 우분투 사이트에서 충분한 권한을 가지고 있다고 가정) 우분투 에서 기본적으로 제공됩니다.

scp bubblegum.txt cyrex@ubuntu.com:/var/www 

주목 :USER (사용자) @ 사이트 당신이 그것을 복사 할 폴더 사이. 두 요소를 분리하는 것입니다.

이제 scp로 거대한 파일을 업로드하고 있다고 가정 해 봅시다. 최악의 경우 세계가 폭발합니다. 해당 파일을 서버에 계속 업로드하는 방법 그런 다음 SCP의 형인 rsync를 얻습니다 (기본적으로 우분투에서 제공됨). 여러 가지면에서 scp와 rsync는 동일한 작업을 수행하지만 여기에는 몇 가지 큰 차이점이 있습니다.

  • rsync는 연결 해제 또는 세계 지배 후에 rsync 또는 scp에서 남은 부분 파일을 업로드 할 수 있습니다.
  • rsync는 scp보다 진행 상황을 훨씬 잘 보여줄 수 있습니다
  • rsync는 실제로 업로드에 몇 초 또는 몇 분을 절약 할 수있는 방식으로 업로드를 최적화 할 수 있습니다. 또한 업로드가 끝날 때 저장 한 금액을 보여줍니다.

어쨌든 scp가 전체 파일을 업로드 할 수없는 경우 rsync가 구조를 위해 제공됩니다. (팁을 위해 Marco Ceppi에게 감사합니다. 고양이 나 개를 좋아한다면 그의 의견에 투표하십시오.)

scp에서 위의 업로드 언급을했는데 60 %에 도달했다고 가정하겠습니다. 업로드 가치를 잃지 않으면 서 60 %를 계속 유지할 수있는 방법. 당신은 이것을 할 것입니다 :

rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www  

이것은 rsync에게 --progress플래그를 사용하여 사람이 읽을 수있는 좋은 방법으로 진행 상황을 표시하도록 지시합니다 . 또한 rsync에게 bubblegum.txt 파일이 --partial플래그 와 관련된 위치를 확인하고 계속하도록 지시합니다 . --progress 및 --partial과 동일한 -P 매개 변수를 사용하여 작성하는 양을 단순화 할 수 있으므로 위와 같이 표시됩니다.

rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www  

당신은 할 수 있습니다 CTRL+ C및 업로드 위 rsync를에서 명령을 수행하여 그것을 다시 시작합니다. 언제라도 무언가를 재개 할 수있는 능력이 매우 좋습니다.

우분투에서 기본적으로 제공되는 rsync에 대한 자세한 내용을 보려면 다음 터미널 명령을 입력하십시오.

man rsync  
info rsync  
rsync --help

이제 SSH 포트를 지정합니다. 그것을 지정하려면 다음과 같이하십시오 :

ssh cyrex@ubuntu.com -p PORT. 예를 들어 ssh cyrex@ubuntu.com -p 1234SSH 서비스에 포트 1234를 사용하도록 지시합니다. 서버에서 작동하려면 먼저 서버에서 구성해야합니다.

서버에서 ssh_config 파일을 다음 nano /etc/ssh/ssh_config과 같이 열어서 구성하려면 # port 22다른 포트로 말하는 행을 변경하십시오 . 또한 해당 줄에서 주석을 제거해야합니다. port 1234위 예제의 경우 다음과 같이 표시됩니다.

이제 서버에서 ssh 서비스를 다시 시작하면 완료됩니다. 서비스를 다시 시작하려면 다음을 수행하십시오.

sudo restart ssh

또는

sudo /etc/init.d/ssh restart

참고 filezilla-ftp 대신 ssh를 사용하는 옵션을 제공하는 GUI 도구에서 SSH를 사용할 수도 있습니다 . ssh는 Ubuntu 메뉴에서 액세스 할 수도 있습니다.

여기에 이미지 설명을 입력하십시오

Windows 공유, SSH 및 FTP를 포함한 여러 옵션에 액세스 할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

SSH에 대한 자세한 내용은 Ubuntu 상자의 콘솔에서 다음 명령 중 하나를 사용할 수 있습니다.

man ssh  
info ssh  
ssh --help

당신은 무엇을 미안하다고 말하는가?
Luis Alvarado

23

로컬 시스템의 파일을 사용하는 것처럼 노틸러스를 통해 서버를 탐색하려면 다음을 수행하십시오.

  1. 노틸러스 열기 ( "홈 폴더")
  2. "파일"-> "서버에 연결"로 이동

    서버에 연결

  3. "서비스 유형"에서 "SSH"를 선택하십시오.

  4. IP 주소 또는 도메인을 "서버"아래에 놓으십시오

    SSH를 선택하십시오

  5. 북마크에 위치를 저장하려면 사용자 이름을 추가하고 "북마크 추가"를 선택하십시오.

폴더가 바로 열립니다.


쿠분투에서는 Krusader 와 같은 작업을 수행 할 수 있습니다 .
Adobe

6

sshfs원격 디렉토리를 로컬 파일 시스템에 마운트하는 데 사용할 수 있습니다 .

https://help.ubuntu.com/community/SSHFS를 참조 하십시오 .

명령 줄 사용법

이제 원격 시스템에서 SSH 서버가 실행되고 있다고 가정하면 SSHFS 명령을 실행하여 원격 디렉토리를 마운트하십시오. 이 예에서 원격 디렉토리는 원격 호스트의 / projects입니다. 로컬 마운트 지점은 ~ / far_projects입니다.

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

마운트를 해제하려면

fusermount -u ~/far_projects

/ etc / fstab에 추가하려면

sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

fstab을 편집 할 때 $ USER를 로그인 이름으로 변경해야하지만 명령을 입력 할 때는 필요하지 않습니다 (이 경우 쉘에서 자동으로 수행).


4

ssh 서버가 이미 설정되어 있다고 가정하면 터미널을 열고 다음을 입력하십시오.

ssh username@hostname

비밀번호를 묻는 메시지가 나타납니다. 그냥 입력하십시오. 포트 번호가 필요하면을 추가하십시오 -p PORTNUM.


2

Vim, Pico 등을 사용할 수있는 경우 터미널을 사용할 수 있습니다.

ssh MYUSER@mysite.com

비밀번호를 입력하면 로그인 할 수 있습니다. GUI가없는 것을 제외하고는 일반 터미널과 같습니다.

'-X'옵션을 추가 할 수 있으며 서버에 X 서버가 구성된 경우 GUI 프로그램을 실행할 있습니다. -X를 추가 한 경우 이름을 입력하면 GUI 창이 시작됩니다.

이제 암호없는 로그인을 설정하고 싶을 것입니다. 키가 없으면 ssh-keygen입력하고 모든 기본값을 입력하십시오. 그런 다음 ssh-copy-id MYUSER@mysite.com. 완료되면 입력 만하면 ssh MYUSER@mysite.com비밀번호를 입력 할 필요가 없습니다!

사용자 이름이 랩톱의 사용자 이름과 동일하면 필요하지 않습니다 MYUSER@. 당신은 할 수 있습니다 ssh mysite.com. -l MYUSER대신 옵션을 사용할 수도 있습니다MYUSER@

GUI를 원하면 노틸러스가이를 수행 할 수 있습니다. ->서버에 파일 연결 ->[ 'SSH'를 선택한 다음 로그인 정보를 입력하십시오] -> 연결.

단일 파일 만 복사하려면 scp [secure copy]를 사용하십시오.
scp MYUSER@mysite.com:path/to/file.dat ./

"~ / path / to / file.dat"파일이 현재 디렉토리로 복사됩니다. 에 슬래시 나 물결표가 없으면 :홈 디렉토리 [ ~/]에 있는 것처럼 작동합니다 . 업로드하려면 scp ./local_file.dat MYUSER@mysite.com: 홈 디렉토리에 넣으십시오.


0

ssh -X -C user@host nautilus --no-desktop GUI 모드로 이동 :)


로컬 노틸러스는 SSH 공유에 연결할 수 있습니다. 노틸러스를 원격으로 실행할 필요는 없습니다. 나는 실제로 그렇게하지 않는 것이 좋습니다. 창조적 인 제안,하지만 여전히 -1
조 - Erlend Schinstad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.