Linux(여기서는 Ubuntu 기준) 서버에 PuTTY를 이용한 SSH로 접속하거나 FileZilla와 같은 FTP로 접속을 하고자 할때 원격에서 FTP, SSH로 접속이 가능하도록 리눅스를 어떻게 구성할것인지에 대해 정리하고자 한다.


Ubuntu Server 버전에서는 기본적으로 SSH로 접속이 가능한지는 테스트해 보지 않아서 잘 모르겠으나(아마도 되는 것으로...) Ubuntu Desktop 버전에서는 최초 설치 상태에서 FTP(FileZilla)나 SSH(PuTTY)로 접속을 시도하면 당연히 연결 실패가 된다.

다음 과정을 통해서 원격에서 접속이 가능하도록 설정해 보자.

기본적인 전제로 root 계정이 생성되어 있고 일반 유저 계정으로 joe라는 계정이 생성되어 있다고 가정한다.

그리고 SFTP로 접속할수 있도록 설정할 것이다.



1. Ubuntu의 기본 FTP 서버용 패키지 설치

# apt-get install vsftpd


⇒ vsftpd만 설치했을 경우는 FileZilla에서 root가 아닌 일반 사용자 계정으로는 접속이 가능하다. 단 SFTP로는 안되고 FTP로 port 21번으로 접속하면 접속이 된다. 참고로 SFTP는 디폴트 포트번호가 22번이다. vsftpd의 다양한 설정에 대해서는 여기서는 생략. vsftpd의 환경 설정 경로는 /etc/vsftpd.conf 파일을 vi로 열어서 환경 설정을 통한 기능들을 조정할 수 있다.


2. SSH 서버 설치

# apt-get install openssh-server


⇒ 여기까지 실행하면 root 계정이 아닌 일반 계정에서는 SFTP로 접속이 가능해 진다.


3. root 계정으로도 SFTP 접속 가능하도록 설정하기

# vi /etc/ssh/sshd_config


⇒ 내용 중에서 PermitRootLogin의 값이 prohibit-password로 되어 있는 것을 yes로 다음과 같이 수정


PermitRootLogin yes


파일 저장 후 ssh restart하기


# service ssh restart


이후부터는 SFTP(port 22)로 정상적으로 접속이 가능해 진다.


이상의 FileZilla의 경우도 동일하게 putty에서도 동일하다.

putty는 접속 포트가 22이다.


그런데 SFTP나 SSH접속(putty)을 root 계정으로 굳이 접속 가능하도록 설정하는 것은 보안상 바람직한 것은 아니다. 왜냐하면 일반 계정으로 접속해서 su command를 이용하여 슈퍼유저로 로그인 해서 사용할수 있기 때문이다. 

물론 이때는 root계정의 비번을 당연히 일반 계정의 비번과 다르게 해야겠지만...




+ Recent posts