코딩하는 문과생

[리눅스] 생활코딩, 인터넷을 이용한 사례들 본문

개발 관련 지식/리눅스

[리눅스] 생활코딩, 인터넷을 이용한 사례들

코딩하는 문과생 2020. 1. 3. 18:38

[인터넷을 통한 서버간 동기화: rsync]

- Dropdox나 구글드라이브 사용시 sync한다.

= 변경 사항을 동일하게 만든다.

 

- r: remote

- 백업이나 복사할 때 사용

 

- 파일 동기화

$ sudo apt-get install -y rsync
# 패키지 설치

$ mkdir rsync
$ cd rsync
$ mkdir src
$ mkdir dest
$ ls

# src에서 파일을 만들고 dest에 동기화시킬 것이다.
$ cd src
$ touch test{1..10}
# test1~10까지 파일 생성
$ cd ..

$ rsync -a src/ dest
# src내용들이 dest에 동기화
# -a: achieve(변경사항만 전송)

# 증분 백업을 한다. 
# ***새로운 화면***
$ cd dest
$ rm test10

# *** 기존 화면***
$ rsync -av src/ dest
# 동기화

# ***새로운 화면***
$ cd src
$ touch test11

# *** 기존 화면***
$ rsync -av src/ dest
# 동기화

-인터넷에서 사용

# src 파일들을 park와 동기화

# ***park***
$ ip addr
$ mkdir rsync
$ cd rsync
$ mkdir dest

# ***sijune***
$ rsync -azP ~/rsync/src/ park@[ip addr로 나온 ip주소]:~/rsync/dest
# -z: zip(압축하고 전송하겠다.), P: 전송상태를 보여준다.

# ***park***
$ ls dest

 

[로그인 없이 로그인 하기: ssh key]

자동으로, 그리고 안전하게 로그인하기

# ***linux1(192.168.0.65)***
$ ip addr
# 192.168.0.65

$ ssh sijune@192.168.0.67
# 비밀번호 입력

# 그러나, 우리는 비밀번호 입력을 원하지 않고 자동로그인 되기를 원한다.
$ ssh-keygen
# 모두 enter

$ cd ~
$ ls -al
$ cd .ssh
$ ls -al
# id_rsa(개인키, 소유자만 read할 수 있다.)
# id_rsa.pub(공개키)가 생성
# 현재 디렉토리 권한: drwx------: 소유자만 접근 가능

# ***linux2(192.168.0.67)***
$ ip addr
# 192.168.0.67

$ cd ~/.ssh
$ ls -al
# authorized_keys
$ cat authorized_keys

# ***linux1***
$ cat id_rsa.pub
# 해당 값은 linux2의 authorized_keys뒤에 붙인다.
$ ssh-copy-id sijune@192.168.0.67

# ***linux2***
$ cat authorized_keys
# linux1의 공개키가 linux2에 저장된다.

# ***linux1***
$ ssh sijune@192.168.0.67

- cron과 같이 정기적인 명령어(ex. 백업)를 실행할 때 유용하다.

# rsync를 이용하면 기본적으로 로그인이 필요하다.

# ***linux1***
$ cd ~
$ mkdir rsync3
$ cd rsync3
$ touch test{1..100}

# ***linux2***
cd ~
$ mkdir rsync_welcome

# ***linux1***
$ rsync -avz . sijune@192.168.0.67:~/rsync_welcome

 

-RSA???

# ***linux1***
$ ls ~/.ssh/
# id_rsa, id_rsa.pub

# ***linux2***
$ ls ~/.ssh/
# authorized_keys

# ***linux1***
$ sijune@192.168.0.67
# 로그인 가능