ssh Authentications method 설정
ssh 는 public key, password, host based 등 다양한 인증 방식을 제공하고 있으며 옵션을 통해 사용할 인증 방식을 설정할 수 있으며 기본적으로 다음 순서대로 인증을 처리함
gssapi-with-mic,hostbased,publickey, keyboard-interactive,password
ssh client 설정
ssh config 에 설정
ssh 의 개인 설정 파일인 ~/.ssh/config 파일에 호스트 정보와 선호하는 인증 방식을 지정하며 여러 인증 방식을 사용할 경우 우선 순위가 높은 순서로 적어주면 됨. 아래는 publickey 인증을 시도하고 실패할 경우 password 인증을 사용.
~/.ssh/config
Host example HostName example.com User ec2-user Port 10022 PreferredAuthentications publickey,keyboard-interactive,password IdentityFile ~/.ssh/example/id_rsa
ssh 로 연결할 경우 Host 에 지정한 이름을 alias 로 사용.
ssh example
command 에서 옵션으로 지정
id/password
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no ec2-user@example.com
public key
사용하는 개인키 명이 ~/.ssh/id_rsa 가 아닐 경우 -i 옵션으로 개인키 지정 필요
ssh -o PreferredAuthentications=publickey -o PasswordAuthentication=no -i ~/.ssh/example/id_rsa ec2-user@example.com
ssh 서버 설정
보안을 위해서는 공개키 방식만 사용하는 것이 좋지만 특정 사용자만 패스워드 방식이 필요할 경우 Match 키워드 사용해서 지정
/etc/ssh/sshd_config
PubkeyAuthentication PasswordAuthentication no # 접속을 허용할 사용자 계정 AllowUsers lesstif centos7 ec2-user # lesstif, centos7 사용자만 암호 로그인 허용 Match User lesstif,centos7 PasswordAuthentication yes
Match 키워드는 설정 파일 맨 아래에 위치해야 함