본문으로 바로가기

Ubuntu 16.04 - SSH 설치

category 소프트웨어/Linux 2019. 2. 20. 11:32
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