synchronize / file synch / without login
파일동기화, login 없이 rsync 사용하기
rsync_test.zip
compose.yml
entorypoint.sh
: 단지, sshd 서버를 띄우기 위함.
#
# compose.yml
#
version: '3.8'
services:
node1:
container_name: node1
build: .
image: alpine:3.14-rsync
volumes:
- ./data1:/data_sync
networks:
- rsync-network
ports:
- "7795:22"
restart: always
entrypoint: [ "/entrypoint.sh" ]
node2:
container_name: node2
build: .
image: alpine:3.14-rsync
volumes:
- ./data2:/data_sync
networks:
- rsync-network
ports:
- "7796:22"
restart: always
entrypoint: [ "/entrypoint.sh" ]
node3:
container_name: node3
build: .
image: alpine:3.14-rsync
volumes:
- ./data3:/data_sync
networks:
- rsync-network
ports:
- "7797:22"
restart: always
entrypoint: [ "/entrypoint.sh" ]
networks:
rsync-network:
driver: bridge
#
# Dockerfile
#
FROM alpine:3.14
RUN apk add rsync
RUN apk add --update --no-cache openssh
RUN addgroup -g 1000 rsync
RUN adduser -D -G rsync rsync
# in centos
# RUN groupadd -g 1000 rsync
# RUN adduser -g rsync rsync
RUN echo -n 'rsync:my_password' | chpasswd
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
#!/bin/sh
#
# entrypoint.sh
#
ssh-keygen -A
exec /usr/sbin/sshd -D -e "$@"
login 을 안해도 되도록 만들기
여기서 rsync 를 하려는 remote 의 주소를 112.123.23.0
라고 하자.
- 먼저 rsync 로 접근하려는 remote 에 가서 계정을 만들고 비번을 걸어놓자.
- local 에서 작업
ssh-keygen
: password 넣으라고 나오면 그냥 enter 를 친다.ssh-copy-id -i ~/.ssh/id_rsa.pub 112.123.23.0
:112.123.23.0
에 public key 를 copy 해 준다. 이때 내 현재 계정이 rsync 라면 rsync 로112.123.23.0
에 접속하게 된다. 이 때 비밀번호를 물어보게 된다. 인증이 잘되면, pub key 가 옮겨진다.ssh 112.123.23.0
를 하면 접근이 되는 것을 알 수 있다.- 참고로, 다른 계정에서
rsync@112.123.23.0 -i /home/rsync/.ssh/id_rsa
으로 하면 그냥 접근이 된다. 그래서 id_rsa 의 권한은 항상 600으로 하자.(기본으로 되어 있다.)
rsync -rv rsync@node1:/data_sync /
: node1의 data_sync 폴더 전부를 local 의 ‘/’ 로 옮겨준다. 그래서 ’/’에 data_sync 가 생긴다.
# su - rsync
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
...
# ssh-copy-id -i ~/.ssh/id_rsa.pub node1
...
# rsync -rv rsync@node1:/data_sync /
See Also
- 쿠…sal: [컴] rsync 정리
- 쿠...sal: [컴] docker centos 8 에서 /run/nologin : centos image로 테스트하면 login 이 안되는 이슈가 있을 수 있다. 그것과 관련된 내용이다.
댓글 없음:
댓글 쓰기