728x90
반응형
1. SSH 서버 설치
아래의 명령을 실행하여 SSH 서버를 설치한다.
sudo apt-get install openssh-server
2. ssh클라이언트 설치
아래의 명령을 실행하여 ssh 클라이언트를 설치한다.
sudo apt-get install ssh
3. config 파일 수정
sudo gedit /etc/ssh/sshd_config
config 파일의 항목은 아래를 참조하여 설정하시기 바랍니다.
- Port : SSH의 기본 포트는 22번입니다. 변경하면 접속할 때 지정해야 합니다.
- ListenAddress : 여기서 지정한 특정 IP 주소를 넣으면 해당 주소에서만 접속할 수 있습니다.
- Protocol : protocol 2로 설정할 경우에는 서버는 버전 2로만 작동하기 때문에 ssh1을 사용해 접속을 요청하는 클라이언트를 받아 들일 수 없으며, protocol 1로 설정할 경우에는 버전 2로를 사용하는 ssh2 사용자의 요청을 받아 들일 수 없습니다. 보안상 protocol 1은 사용하지 않음, 둘 다 쓰려면 1, 2처럼 쓰면 됩니다.
- HostKey : 서버의 키를 정의합니다. 클라이언트가 접속 시 4가지 방식으로 암호화된 호스트 키 중 기본값인 ECDSA 방식으로 암호화된 호스트 공개키가 클라이언트의 홈 디렉터리/.ssh/known_hosts 파일에 저장됩니다. 호스트 공개키는 위 파일명 끝에 .pub이 붙어있습니다(예-ssh_host_ecdsa_key.pub). 서버에서 이 호스트 키가 변경되면 접속한 적이 있는 클라이언트에선 원격 호스트의 인증서가 변경되었다는 오류가 뜹니다. 이럴 땐 아래 명령으로 클라이언트에 남아있는 호스트 키를 삭제하고 재접속하면 됩니다.
- KeyRegenerationInterval : 자동으로 생성된 키의 유효시간을 정의합니다. 기본값은 3600초입니다.
- ServerKeyBits : 서버 키에서 사용할 수 있는 비트수를 정의합니다. 최소값은 512이고 기본값은 768입니다.
- SyslogFacility AUTHPRIV : syslog 데몬에 의한 로그 facility를 지정합니다. 기본값은 AUTHPRIV이고, 그외 설정(DAEMON,USER,LOCAL0~7)이 있습니다.
- LogLevel INFO : 로그 레벨을 정의합니다. 기본 INFO 외에 [QUIET(기록하지않음), FATAL(치명적오류), ERROR, VERBOSE, DEBUGS] 등이 있습니다.
- RSAAuthentication yes : RSA로 인증하는 것을 허락하는 것으로 ssh 프로토콜 버전 1을 위한 설정입니다.
- LoginGraceTime 60 : 로그인 제한시간을 정의합니다. 기본값은 120입니다.
- PermitRootLogin no : root 로그인 허용여부를 결정합니다. yes, no, without-password를 옵션으로 사용할 수 있습니다.
- MaxAuthTries 2 : 접속당 최대인증 시도횟수를 지정합니다. 기본값은 6이며 3회이상 실패시 로그가 기록됩니다.
- RhostsRSAAuthentication yes : /etc/ssh/ssh_known_hosts 파일에 있는 호스트에 대해 인증허용을 정의합니다.
- HostbasedAuthentication no : 호스트 기반으로 인증할 것인가를 설정합니다. 기본값은 no이고 권장값입니다.
- IgnoreUserKnownHosts no : RhostsRSAAuthentication 또는 HostbasedAuthentication 인증시 ~/.ssh/knownhosts 파일에 있는 호스트들을 제외할 것인가를 설정합니다.
- PasswordAuthentication yes : 열쇠글 인증을 설정하는 것으로 프로토콜 버전 1과 2에 모두 적용합니다.
- PermitEmptyPasswords no : 열쇠글 인증이 허용될 때 서버가 빈 열쇠글 스트링 계정으로 로그인 허용 여부를 설정하는 옵션으로 기본값 no 입니다.
- PasswordAuthentication yes : 패스워드 인증을 허용한다는 의미며 이 옵션은 프로토콜 버전 1과 2 모두 적용됩니다.
- PermitEmptyPasswords no : 패스워드 인증을 할 때 서버가 비어있는 패스워드를 인정하는 것이며 기본 값은 no 입니다.
- UseDNS yes : 클라이언트 호스트 주소를 아이피로 해석되도록 할 것인가를 설정하는 옵션입니다.
- Subsystem sftp /usr/libexec/openssh/sftp-server : sshd 데몬에서 다른 프로그램을 실행할수 있도록 설정해 주는 것으로 ssh에 의해서 sftp 서버를 이용할수 있도록 설정합니다.
4. root 권한 계정 암호 설정 및 사용하기
/etc/ssh/sshd_config 파일을 편집기로 불러옵니다. 아래의 내용으로 설정되어 있는 부분을 수정해야 합니다.
PermitRootLogin without-password
without-password를 yes로 수정합니다.
PermitRootLogin yes
위와 같이 수정하고 파일을 저장합니다.
설정을 완료하였으면 ssh 서비스를 재시작해야 합니다. 아래와 같이 입력합니다.
service ssh restart
728x90
반응형
'소프트웨어 > Linux' 카테고리의 다른 글
How to change USB device permission permanently on Linux (0) | 2019.07.04 |
---|---|
XBOX One Wireless Controller 설치 (1) | 2019.02.26 |
Linux(Ubuntu) Tips (0) | 2019.02.18 |
Github 사용법 (0) | 2019.02.07 |
Git 설치와 설정 (0) | 2019.02.06 |