DGIST 차세대반도체융합연구소: SSH
리눅스 scp 명령어 사용법
UTF-8과 인코딩의 이해: 프로그래밍에서의 변환 과정
유니코드와 UTF 이해하기
What is Port 22?
Linux-SFTP로 파일 전송하기
업무를 진행하는 도중, 모르는 개념들이 많아 가볍게라도 훑어보며 아래에 정리해두고자 한다.
지금부터라도 조금씩 알아가면서 정리해두면, 괜찮지 않을까,,,,
SSH(Secure SHell)
SSH란 Secure SHell의 약자로써,
네트워크상의 다른 컴퓨터에 로그인하여 명령을 실행하고 정보를 보고 받을수 있도록 해 주는 통신 프로토콜을 의미한다.
SSH는 다음 기능들을 수행한다.
추가
ssh ID@접속 서버
SCP(Secure CoPy)
ssh 원격 접속 프로토콜을 기반으로 한 SecureCopy(scp)의 약자로서,
원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 프로토콜이다.
네트워크가 연결되어 있는 환경에서 ssh와 동일한 22번 포트와 identity file을 사용해서 파일을 송수신하기에, 보안적으로도 안정된 프로토콜이라 할 수 있다.
1. 단일 파일을 로컬에서 원격지로 보낼 때
scp 파일명 원격지id@원격지ip:받는위치
2. 복수의 파일을 로컬에서 원격지로 보낼 때
: 단일로 보내건 복수로 보내건 보내는 구문에는 크게 차이없이 파일명 뒤에 한 칸 공백 띄우고 파일명 넣어두기
scp 파일명1 파일명2 원격지id@원격지ip:받는위치
3. 여러 파일을 포함하고 있는 디렉터리를 로컬에서 원격지로 보낼 때
scp -r 디렉터리명 원격지id@원격지ip:보낼경로
4. 단일 파일을 원격지에서 로컬로 보낼 때
scp 원격지id@원격지ip:원본위치 받는위치
5. 복수의 파일을 원격지에서 로컬로 가져올 때
scp 원격지id@원격지ip:"원본위치파일1 원본위치파일2" 받는위치
6. 여러 개의 파일을 포함하는 디렉터리를 원격지에서 로컬로 가져올 때
scp -r 원격지id@원격지ip:디렉터리위치 받을경로
SFTP(SSH File Transfer Protocol)
파일을 다운로드하거나, 인터넷에 업로드할 때 일반적으로 사용된다.
SFTP를 사용하면 암호화를 통해 데이터를 안전하게 전송할 수 있다.
일반 텍스트 파일은 전송되지 않는다.
SFTP는 보안을 강화한 FTP라고 생각하면 된다.
SFTP는 FTP와 달리, 서버 간의 데이터 전송 시 암호화하기 때문에 보안상의 문제점을 방지한다.
즉, SSH를 적용한 파일 전송 프로토콜이다.
<SFTP를 통한 파일 전송>
1. 서버 - 클라이언트 연결
원격 서버에 대한 SFTP를 연결하려면 아래의 명령어를 사용하면 된다.
$ sftp [remote_username]@[remote_ip]
2. 서버 pc 경로 설정
연결이 되었으면 아래의 명령어를 통해 파일을 위치시킬 서버PC의 경로를 설정하자.
sftp> pwd # 경로확인
sftp> ls # 파일 디렉터리 나열
sftp> cd [PATH] # 해당 [PATH]로 이동
3. 파일 전송
파일을 위치시킬 경로로 이동했다면, 모든 준비가 끝났다. 아래의 명령어로 원하는 파일을 전송하면 된다.
sftp> put [filename] # [filename]을 원격서버로 전송
sftp> put -r [dirname] # [dirname](디렉터리)을 원격서버로 전송
4. 연결 종료
ls
등 명령어를 통해 파일이 제대로 전송되었는지 확인하고, 작업이 끝났으면 연결을 종료하면 된다.
sftp> bye
<SFTP를 통한 파일 다운로드>
1. 서버 - 클라이언트 연결
원격 서버에 대한 SFTP를 연결하려면 아래의 명령어를 사용하면 된다.
$ sftp [remote_username]@[remote_ip]
2. 서버 pc 경로 설정
연결이 되었으면 아래의 명령어를 다운로드 할 파일이 위치한 서버PC의 경로를 설정하자.
sftp> pwd # 경로확인
sftp> ls # 파일 디렉터리 나열
sftp> cd [PATH] # 해당 [PATH]로 이동
3. 파일 전송
파일을 위치시킬 경로로 이동했다면, 모든 준비가 끝났다. 아래의 명령어로 원하는 파일을 전송하면 된다.
sftp> get [filename] # [filename]을 다운로드
sftp> get [host_filename] [local_filename] # [host_filename]을 다운로드 할 때 [local_filename]으로 변경해서 저장
sftp> get -r [dirname] # [dirname](디렉터리)을 다운로드
sftp> get -r [host_dirname] [local_dirame] # [host_dirname](디렉터리)을 다운로드 할 때 [local_dirname]으로 변경해서 저장
4. 연결 종료
ls
등 명령어를 통해 파일이 제대로 전송되었는지 확인하고, 작업이 끝났으면 연결을 종료하면 된다.
sftp> bye
UTF-8은 "Universal Character Set Transformation Fromat - 8 bit"의 약자로,
유니코드 문자를 표현하는 가변 길이 문자 인코딩 방식이다.
UTF-8은 8bit(1byte) 단위로 인코딩
UTF-8은 1byte부터 4byte까지 가변 바이트를 활용하여 유니코드 인코딩
Encoding은 단순히 '변환'을 의미한다.
프로그래밍에서는 주로 "문자를 0과 1의 형태로 변환한다."는 의미로 사용한다.
이것이 의미하는 바는, 문자를 컴퓨터가 이해할 수 있는 이진 데이터로 변환한다는 것이다.
이 과정에서 문자를 다양한 방식으로 표현할 수 있으며, UTF-8은 이러한 변환 과정 중 하나이다.
UTF-8의 동작 방식을 간단히 보자면,
이진 숫자로 변환된 각각의 바이트는 해당 문자를 컴퓨터가 이해할 수 있는 현태로 표현한 것이다.
해당 글은 추후 수정될 수 있습니다.
왜냐고? 모르는 게 너무 많아서 이거로는 안돼,,,