본문 바로가기

머리 있든 없든 정리하기!!!

[vue-spring] 배포 연습[1] : centOS9-docker install[3] - ssh

728x90
반응형

=>> 공부하고 나중에 안 사실인데 SSH와 SFTP 의 개념을 잘 이해하지 못하고 적은 거 같다... 이점은 참고 바란다... 쏴리

 

아...  블로글 쓰고 나서 하루동안 ssh의 개념을 잘 몰랐다는 사실을 알게 되었다... 물론 지금도 설명할 정도는 아니니 잘 모

 

른다고 할 수 있겠다...

 

ssh 설정하는 법을 정리해보았다.

 

[현재상황]

- virtualbox에서 네트워크 포트 포워딩 설정해놓은 상황

- docker 설치가 되어 container로 tomcat까지 설치된 상황

 

[하고 싶은거]

- sftp 설정을 해서 filezilla로 docker container tomcat 내 파일 넣기 (올바른 표현이 아닐수도 있다...)


- CentOS에서 SFTP 서버를 설정하는 방법

CentOS에서는 OpenSSH 패키지를 사용하여 SFTP 서버를 설정할 수 있습니다.

아래는 CentOS에서 SFTP 서버를 설정하는 단계이다.

 

- OpenSSH 설치 

=> SFTP 서버를 실행하기 위해 OpenSSH 패키지가 설치되어 있어야 한다. 패키지 설치하기

sudo yum install -y openssh-server

 

- SFTP 사용자 추가

=> SFTP 접속에 사용할 사용자 계정을 추가. 예를 들어, sftpuser라는 사용자를 추가하고 비밀번호를 설정할 수 있다.

sudo useradd -m sftpuser
sudo passwd sftpuser

 

비밀번호는 원하는 대로 설정해라.

 

- SFTP 디렉토리 생성 및 권한 설정

SFTP 사용자에게 파일 업로드를 위한 디렉토리를 생성. 예를 들어, /home/sftpuser/uploads 디렉토리를 생성하고 권한을 설정.

sudo mkdir -p /home/sftpuser/uploads
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo chown sftpuser:sftpuser /home/sftpuser/uploads

 

- SSH 설정 파일 수정

SFTP만 사용할 수 있도록 SSH 설정 파일을 수정. /etc/ssh/sshd_config 파일을 열어, SFTP 사용자에게 SSH 로그인만 허용하고, 다른 종류의 접속을 제한할 수 있다.

sudo vi /etc/ssh/sshd_config

 

파일에 다음 설정을 추가하거나 변경:

  • PasswordAuthentication yes: 비밀번호 인증을 활성화
  • Subsystem sftp /usr/libexec/openssh/sftp-server: SFTP 서브시스템을 활성화
  • 특정 사용자를 SFTP만 사용하도록 제한하려면 다음 설정을 추가:
Match User sftpuser
    ForceCommand internal-sftp
    PasswordAuthentication yes
    ChrootDirectory /home/sftpuser
    AllowTcpForwarding no
    X11Forwarding no

이 설정은 sftpuser가 SFTP만 사용할 수 있도록 제한한다. ForceCommand internal-sftp는 SFTP 이외의 명령어를 사용하지 못하게 제한한다.

 

- SSH 서비스 재시작

변경 사항을 적용하기 위해 SSH 서비스를 재시작.

sudo systemctl restart sshd

 

- 방화벽 설정

CentOS에서 방화벽이 활성화되어 있으면 22번 포트(SSH)가 열려 있어야 한다. 방화벽에서 포트를 열어준다.

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo firewall-cmd --reload

 

이제 filezilla로 

이렇게 입력하면 연결이 된다.

 

[+추가]

추가적으로 ip a에서 나오는 결과에 대해 알려주는게 있다

 

[선택사항]

- SFTP 접속 테스트

이제 SFTP 클라이언트를 사용하여 sftpuser 계정으로 접속할 수 있다. 예를 들어, 로컬 시스템에서 다음 명령어를 사용하여 SFTP 접속을 시도할 수 있다.

sftp sftpuser@<CentOS 서버 IP>

접속하면 비밀번호를 묻고, 비밀번호를 입력하면 SFTP 서버에 연결된다. SFTP 서버에 접속 후, /uploads 디렉토리로 파일을 업로드하거나 다운로드할 수 있다.

 

- 추가적인 설정

 

  • 공개 키 인증 사용: SFTP 접속을 패스워드 대신 공개 키 인증 방식으로 사용할 수 있다. 이를 위해 ~/.ssh/authorized_keys에 공개 키를 추가한다.
  • 디렉토리 제한: SFTP 사용자가 다른 디렉토리에 접근할 수 없도록 chroot jail을 설정할 수 있다.

===최종 요약===

 

  • OpenSSH 설치: sudo yum install -y openssh-server
  • SFTP 사용자 추가 및 디렉토리 생성: useradd, passwd, 디렉토리 생성 및 권한 설정
  • SSH 설정: /etc/ssh/sshd_config 파일에서 SFTP만 사용할 수 있도록 설정
  • SSH 서비스 재시작: systemctl restart sshd
  • 방화벽 설정: firewall-cmd --add-port=22/tcp
  • SFTP 접속: 로컬 시스템에서 sftp 명령어로 접속

<2025.04.04 추가>

+ tomcat 9 버전이상 부터는 webapps와 webapps.dist 가 있기에 처음 아무거도 설정 못했을때 고양이를 보고 싶으면 webapps.dist의 파일을 webapps로 복사해주면 된다.

 

cp -r webapps.dist/* webapps/

 

localhost:8080 들어가면 아래와 같이 톰캣이 뜬다.

728x90
반응형