다음 절차에서는 서버에서 클라이언트의 개인 키가 인증에 사용되는 공개 키 시스템을 설정합니다. 사용자는 공개/개인 키 쌍을 만들어야 합니다.
절차에서 언급되는 클라이언트와 로컬 호스트라는 용어는 사용자가 ssh 명령을 입력한 시스템을 나타냅니다. 서버와 원격 호스트라는 용어는 클라이언트가 연결하려고 시도 중인 시스템을 나타냅니다.
시작하기 전에
root 역할을 맡아야 합니다. 자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.
클라이언트 구성 파일 /etc/ssh/ssh_config에서 다음 항목을 입력합니다.
HostbasedAuthentication yes
파일 구문은 ssh_config(4) 매뉴얼 페이지를 참조하십시오.
서버 구성 파일 /etc/ssh/sshd_config에서 동일한 항목을 입력합니다.
HostbasedAuthentication yes
파일 구문은 sshd_config(4) 매뉴얼 페이지를 참조하십시오.
자세한 내용은 sshd(1M) 매뉴얼 페이지의 FILES 절을 참조하십시오.
client-host
client-host
/etc/ssh/sshd_config 파일에서 IgnoreRhosts를 no로 설정합니다.
## sshd_config IgnoreRhosts no
## sshd_config IgnoreUserKnownHosts no
사용자 지침은 보안 셸에서 사용할 공개/개인 키 쌍 생성 방법을 참조하십시오.
호스트 키는 /etc/ssh 디렉토리에 저장되어 있습니다. 일반적으로 첫번째 부트 시 sshd 데몬이 키를 생성합니다.
클라이언트에서 한 행에 백슬래시 없이 다음 명령을 입력합니다.
# cat /etc/ssh/ssh_host_dsa_key.pub | ssh RemoteHost \ 'cat >> /etc/ssh/ssh_known_hosts && echo "Host key copied"'
Client and server could not agree on a key exchange algorithm: client "diffie-hellman-group-exchange-sha256,diffie-hellman-group- exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1", server "gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==". Make sure host keys are present and accessible by the server process. See sshd_config(4) description of "HostKey" option.
파일이 복사되면 "Host key copied" 메시지가 표시됩니다.
/etc/ssh/ssh_known_hosts 파일의 각 행은 공백으로 구분된 필드로 구성됩니다.
hostnames algorithm-name publickey comment
## /etc/ssh/ssh_known_hosts File RemoteHost <copied entry>
다음 예에서는 각 호스트가 서버와 클라이언트로 구성됩니다. 각 호스트의 사용자는 다른 호스트에 대한 ssh 연결을 시작할 수 있습니다. 다음은 각 호스트를 서버와 클라이언트로 만드는 구성입니다.
각 호스트에서 보안 셸 구성 파일에는 다음 항목이 포함되어 있습니다.
## /etc/ssh/ssh_config HostBasedAuthentication yes # ## /etc/ssh/sshd_config HostBasedAuthentication yes IgnoreRhosts no
각 호스트에서 shosts.equiv 파일에는 다른 호스트에 대한 항목이 포함되어 있습니다.
## /etc/ssh/shosts.equiv on machine2 machine1
## /etc/ssh/shosts.equiv on machine1 machine2
각 호스트의 공개 키는 다른 호스트의 /etc/ssh/ssh_known_hosts 파일에 있습니다.
## /etc/ssh/ssh_known_hosts on machine2 … machine1
## /etc/ssh/ssh_known_hosts on machine1 … machine2
사용자는 두 호스트 모두에 대한 계정을 가집니다. 예를 들어, 사용자 John Doe에 대해 다음 정보가 나타납니다.
## /etc/passwd on machine1 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh
## /etc/passwd on machine2 jdoe:x:3111:10:J Doe:/home/jdoe:/bin/sh