안녕하세요.
최근에 회사에서 테스트를 진행하다가 FTP가 막혀있는 서버에 대해
파일전송 방법을 알아보다가
지금까지 몰랐던 SSH를 통한 파일전송을 알게되어 포스팅합니다 ㅎㅎ
진작 알았다면 지금까지 많이 썼을텐데
회사에서는 FTP를 또 접속하려면 추가인증도 받아야하고 여간 번거로운게 아니거든요 ㅠ
알아보도록 하죠!!
SSH를 통해 파일을 전송하는 방법은 다음과 같습니다 : )
- SSH 클라이언트 설치SSH 클라이언트를 시스템에 설치해야 합니다. 대표적인 SSH 클라이언트로는 OpenSSH(오픈SSH), PuTTY(푸티), SecureCRT(시큐어CRT) 등이 있습니다. 시스템에 따라 미리 설치되어 있을 수도 있습니다.
- 저같은 경우는 MAC의 터미널을 주로 사용합니다.
- 터미널 열기: 터미널을 열고 SSH 클라이언트를 실행합니다.
- SSH 서버에 연결: SSH 클라이언트를 사용하여 SSH 서버에 연결합니다. 일반적으로 ssh 명령어를 사용하여 연결할 수 있습니다. 예를 들어, ssh username@example.com 명령을 사용하여 example.com 서버의 username사용자로 연결할 수 있습니다. SSH 서버의 주소와 포트 번호, 사용자 이름을 알고 있어야 합니다.
- 로그인: SSH 서버에 연결하면 사용자 이름과 비밀번호를 입력해야 합니다. SSH 서버에 액세스 권한이 있는 사용자 이름과 비밀번호를 입력합니다. 일부 SSH 서버는 공개키 인증을 사용하여 비밀번호 없이 로그인할 수도 있습니다.
- 파일 전송: 파일을 전송하려면 다음과 같은 명령어나 도구를 사용할 수 있습니다:
- scp 명령어: scp 명령어는 SSH를 통해 파일을 복사하는 데 사용됩니다. 예를 들어, scp filename username@example.com:remote/path 명령어를 사용하여 filename 파일을 로컬 시스템에서 원격 서버의 remote/path 위치로 복사할 수 있습니다.
- sftp 명령어: sftp 명령어는 SSH를 통해 파일을 전송하는 보다 인터랙티브한 방식을 제공합니다. sftp 명령어를 실행하면 FTP와 유사한 명령어를 사용하여 로컬 시스템과 원격 서버 간에 파일을 전송할 수 있습니다.
- 연결 종료: 파일 전송을 마치면 SSH 세션을 종료합니다. 일반적으로 exit 명령어를 사용하여 SSH 세션을 종료합니다.
여기까지 보면 약간 어려울 수 있습니다.
SCP의 자세한 사용법을 더 보면
scp 명령어를 사용하여 파일을 전송하는 방법은 다음과 같습니다
scp [옵션] 소스 파일/디렉토리 목적지
|
- [옵션]: 필요에 따라 옵션을 추가할 수 있습니다. 일반적으로 가장 자주 사용되는 옵션은 다음과 같습니다:
- -r: 디렉토리 전체를 재귀적으로 복사합니다.
- -P 포트번호: SSH 서버의 포트 번호를 지정합니다. 기본적으로 22번 포트를 사용합니다.
- -i 개인키파일: 개인 키 파일을 지정하여 인증합니다.
- -v: 상세한 출력을 표시합니다.
- 소스: 전송할 파일 또는 디렉토리의 경로를 지정합니다. 로컬 파일 시스템의 경로나 원격 서버의 경로를 지정할 수 있습니다.
- 목적지: 전송할 파일 또는 디렉토리를 저장할 위치를 지정합니다. 로컬 파일 시스템의 경로나 원격 서버의 경로를 지정할 수 있습니다.
예를 들어, 로컬 시스템의 file.txt 파일을 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:
scp file.txt username@example.com:/home/username/
|
example.com은 원격 서버의 주소입니다. SSH 서버의 포트 번호를 지정해야 하는 경우 -P 옵션을 사용하여 포트 번호를 추가로 지정할 수 있습니다.
디렉토리 전체를 재귀적으로 복사하려면 -r 옵션을 사용합니다. 예를 들어, 로컬 시스템의 dir 디렉토리를 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:
scp -r dir username@example.com:/home/username/
|
scp 명령어를 사용하여 파일을 전송할 때, 소스나 목적지의 경로에 공백이 포함되어 있다면 경로를 따옴표로 묶어야 합니다. 예를 들어, 로컬 시스템의 "file with spaces.txt" 파일을 원격 서버의 /home/username/ 디렉토리로 복사하려면 다음 명령어를 사용합니다:
scp "file with spaces.txt" username@example.com:"/home/username/"
|
위의 예시들을 참고하여 scp 명령어를 사용하여 파일을 전송할 수 있습니다.
'IT&DEV - IT & 개발' 카테고리의 다른 글
Git과 SVN 비교: 장단점 살펴보기 (0) | 2023.05.26 |
---|---|
Docker환경에 Ubuntu 환경구성의 장점 (0) | 2023.05.03 |
[OMV6]Potainer를 활용한 NextCloud설치 (0) | 2023.05.03 |
[OMV6]Cloudflare와 NginxProxyManager를 활용한 서브도메인 무료 SSL적용 (0) | 2023.04.06 |
[OMV6]Docker - Nginx Proxy Manager 설치 (0) | 2023.03.31 |
댓글