-> 공개키 암호화 방식으로 네트워크 원격 접속 가능
접속 대상 Linux host에 SSH daemon process 가 동작중이여야 한다.
별도의 공개키를 생성하여 client에 제공하고 접속하는 방식으로 사용 가능
ssh-keygen
: 개인키/ 공개키 생성
방법1) NAT 환경에 포트포워딩
호스트(메인 os), 게스트(가상환경 내의 os)
방법2) Nat 네트워크 구성 (별도의 네트워크 구성시 유리)
방법3) 호스트 어댑터 이용
호스트 아이피 확인
ip addr
명령어
Putty로 위와 동일하게 연결
snap이 별도로 설치되지 않은 경우 설치 후 사용
sudo apt-get install snap
snap [ 옵션 ] 명령
install 스냅명
- 지정한 스냅 설치
list
- 설치한 스냅 목록 출력
remove 스냅명
- 지정한 스냅 삭제
info 스냅명
- 지정한 스냅 상세 정보 출력
find 스냅명
- 지정한 스냅 검색
- 패키지 검색 (canonical - ubuntu 공식 제작사)
- 설치 후
- 설치 확인
tar [기능] [ 옵션 ] <아카이브 파일> <아카이브 대상 파일 또는 디렉토리>
- 기능
c
- 새로운 tar 파일 생성
t
- tar 파일 내용 출력
x
- tar 파일을 원본 형태로 추출
r
- 새로운 파일 추가
u
- 수정된 파일 업데이트- 옵션
f
- 아카이브 파일 지정
v
- 처리 과정 출력
j
- bz2 형식으로 압축 또는 해제
z
- gz 형식으로 압축 또는 해제- ex)
-> 아카이브 파일 생성tar cvf <.tar> <아카이브대상>
-> 아카이브 파일 생성 및 gzip 압축tar cvfz <.tar.gz> <아카이브대상>
-> 아카이브 풀기xvf
-> 아카이브 업데이트uvf
- 압축 예시
- 압축 내용 확인 예시
❗리눅스 압축 명령은 파일 아카이브를 수행하지 않고 압축만 수행
손실(Lossy)압축 방법은 파일이 원래 형식 복원은 안되지만, 크기를 크게 줄임
출처 : https://ko.gadget-info.com/difference-between-lossy-compression
gzip [ 옵션 ] 파일명
-> 압축
-l
- 압축 파일 정보 확인-r
- 하위 디렉토리로 이동하여 파일 압축-v
- 압축 정보 화면 출력-9
- 최대한 압축gunzip <압축 파일명>
-> 압축 해제
bzip2 [ 옵션 ] 파일명
-> 압축
압축파일 확장자 -> .bz2
-l
- 압축 파일 정보 확인
-d
- 파일 압축 해제
-v
- 압축 정보 화면 출력
–best
- 최대한 압축
bunzip2 <압축 파일명>
-> 압축 해제
gzip에 없던 bzip2recover
이용하여 손상된 bzip2 압축파일 복구 가능성 있음
zip <압축파일명> <파일명>
-> 압축
unzip <압축 파일명>
-> 압축 해제
❗네트워크 관련 명령으로 Debian 계열과 Redhat 계열 공통 명령과 같은 기능을 하지만 다른 패키지를 통해 동작하는 명령이 있다.
ping [옵션] <호스트 IP 또는 domain>
-c
횟수만큼 패킷 송수신traceroute [ 옵션 ] <호스트>
-n
- 주소를 IP address로 표시
-m maxttl
- 패킷 최대 ✳️TTL 설정 (라우터 잔재 횟수)
-> DNS( Domain Name Server )에 해당 host에 대한 IP 주소/도메인명 검색 요청 명령
/etc/resolv.conf
파일에 검색 요청할 DNS 정보 기록
host [ 옵션 ] <domain/IP address>
-v
- 상세 정보 표시
dlg [ 옵션 ] <쿼리 타입> <domain>
-x address
- IP 주소가 address인 호스트 DNS 정보 출력
any
- 모든 정보
ns
- 지정 도메인 공인 네임 서버
dig @공인 네임 서버 <domain>
-> 네임 서버 지정
Ubuntu에서 별도 설치
sudo apt install whois
whois [ 옵션 ] <host( www. 제외한 domain )>
-h server - 검색에 사용할 서버 지정
ssh [ 옵션 ] <[사용자명]@<호스트명>>
-i <공개키 파일 경로 및 파일명>
- 공개키 파일
-l user
- 원격 호스트에 접속할 사용자명
exit
-> ssh client 종료
ssh <host IP>
-> login시 ID와 PW 입력
ssh <사용자명@host IP>
-> PW 입력 -> 가장 일반적인 방식
공개키/개인키 생성 명령
사용자 홈 디렉토리/.ssh에 공개키와 개인키 저장
개인키 - id_rsa, ssh server에 저장
공개키 - id_rsa.pub, ssh client 사용
공개키의 permission은 소유자만 읽기/쓰기 권한만 부여
chmod 600 id_rsa.pub
인터넷을 이용하여 특정 사이트로 부터 데이터 download 동작 수행하는 웹 브라우저 기능 명령
-b - 백그라운드로 download
-r - 재귀적 download
-c - 이어 받기 download
별도 패키지 설치 필요
sudo snap install curl
sudo apt install curl
-O - download 결과를 URL에서 가져온 파일명으로 저장
-o file - download 결과를 file로 저장
-s - 상세 정보
-f family - 네트워크 주소 종류 family
-r - 호스트명 표시
show - device 주소 표시
add addr - device 주소 추가
del addr - device 주소 삭제
flush dev - device 주소 일괄 삭제
ubuntu에서 사용을 원하면 패키지 설치
sudo apt install net-tools
ip route [ 내부 명령어 ]
route [ 옵션 ][ 내부 명령어 ]
네트워크 소켓 정보 및 접속 상환 표시
ss [ 옵션 ]
ip [ 옵션 ] link [ 내부 명령 ]
netstat [ 옵션 ]
-i - 네트워크 인터페이스 접속 상태 관련 정보 표시
-r - 라우팅 테이블 표시
-s - 프로토콜 통계 정보
-l - 접속 대기 중인 소켓만 표시
-t - TCP 소켓 정보 표시
-n - IP address 형식으로 출력
sudo tcpdump [ 옵션 ][ 조건 ]
-c count - count 개 패킷 취득후 종료
-F file - 패킷 필터링 조건을 file 에서 읽는다.
-i if - 인터페이스 if 지정
조건
host host명 - 특정 호스트
port port번호 - 특정 포트 번호
예
sudo tcpdump port http and host www.example.com
sudo tcpdump -c 20 port ssh