더북(TheBook)

3.4 패스워드 없이 SSH 접근하기

패스워드에는 단점이 있는데, 패스워드가 제대로 사용되는 경우가 거의 없다는 점이다. 패스워드가 너무 짧거나 추측하기 쉽고 또는 여러 계정에 반복해서 사용된다. 그리고 패스워드를 잊어버리는 일도 놀라울 정도로 많다. 데이터를 보호하는 유일한 방법이 패스워드라면 데이터가 제대로 보호되지 않을 가능성이 높다.

그래서 AWS처럼 보안에서 높은 신뢰를 받는 선두 주자들은 클라우드 인스턴스에서 패스워드 인증을 기본으로 비활성화해 놓는다. 서버에 대한 비인가 접근이 걱정된다면 이 방법을 고려해보라. 다음은 AWS EC2 서비스 중 리눅스 인스턴스의 /etc/ssh/sshd_config 파일의 설정 예다.

# EC2 uses keys for remote access
PasswordAuthentication no

OpenSSH 환경 설정 파일

리눅스의 다른 것과 마찬가지로 OpenSSH가 컴퓨터에서 작동하는 방식도 대부분 일반 텍스트로 된 환경 설정 파일의 설정에 의존한다. 그리고 다른 프로그램과 마찬가지로 이 설정 파일들은 etc 디렉터리에서 볼 수 있는데, OpenSSH의 경우 /etc/ssh/에 있다.

원격 클라이언트(remote client)가 여러분의 컴퓨터에 로그인하는 방법을 제어하는 설정은 /etc/ssh/sshd_config 파일에 있지만, 이 컴퓨터의 사용자가 원격 호스트(remote host)에 클라이언트로서 로그인하는 방법을 제어하는 설정은 /etc/ssh/ssh_config 파일에 있다. 이 파일들에 정의된 설정은 여러분의 컴퓨터에 사용자가 로그인하는 방법을 SSH로 제어하는 것 외에도 원격에서 로컬 프로그램들에 대한 GUI 접근을 허용할 것인지를 제어하는 데도 사용한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.