=>> 공부하고 나중에 안 사실인데 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 들어가면 아래와 같이 톰캣이 뜬다.
'머리 있든 없든 정리하기!!!' 카테고리의 다른 글
누가 물어보면 대답할 수 있을까??? - #[ @Autowired ] (2) | 2025.06.06 |
---|---|
[vue-spring] 배포 연습[1] : centOS9-docker install[2] (0) | 2025.03.27 |
[vue-spring] 배포 연습[1] : centOS9-docker install[1] (0) | 2025.03.27 |
[Spring] VSCode - Spring Project [4] (0) | 2025.03.20 |
[Spring] VSCode - Spring Project [3] (0) | 2025.03.19 |