RAC 설치를 위한 oracle 노드 설치 속도를 높이려고 노력하고 있습니다. 이를 위해서는 비밀번호를 묻는 메시지가 표시되지 않도록 ssh를 설치하고 구성해야 합니다.
문제는 우리가 처음 사용할 때 시스템이 우리에게 메시지를 표시한다는 것입니다.
RSA key fingerprint is 96:a9:23:5c:cc:d1:0a:d4:70:22:93:e9:9e:1e:74:2f.
Are you sure you want to continue connecting (yes/no)? yes
이를 피할 수 있는 방법이 있습니까? 아니면 서버당 적어도 한 번은 수동으로 연결해야 합니까?
답변1
2019년 12월 업데이트됨:
Chris Adams가 아래에서 지적했듯이 Openssh는 이 답변이 작성된 이후 6.5년 동안 상당히 변경되었으며 아래의 원래 제안보다 훨씬 더 안전한 새로운 옵션이 있습니다.
* ssh(1): expand the StrictHostKeyChecking option with two new
settings. The first "accept-new" will automatically accept
hitherto-unseen keys but will refuse connections for changed or
invalid hostkeys. This is a safer subset of the current behaviour
of StrictHostKeyChecking=no. The second setting "off", is a synonym
for the current behaviour of StrictHostKeyChecking=no: accept new
host keys, and continue connection for hosts with incorrect
hostkeys. A future release will change the meaning of
StrictHostKeyChecking=no to the behaviour of "accept-new". bz#2400
StrictHostKeyChecking no
따라서 파일에 설정하는 ssh_config
대신 StrictHostKeyChecking accept-new
.
StrictHostKeyChecking no
파일에 설정 /etc/ssh/ssh_config
하면 서버의 모든 사용자에 대한 전역 옵션이 됩니다. 또는 ~/.ssh/config
현재 사용자에게만 기본값이 되는 파일을 설정하세요 . 또는 명령줄에서 사용할 수 있습니다.
ssh -o StrictHostKeyChecking=no -l "$user" "$host"
작동 방식에 대한 설명은 다음과 같습니다.man ssh_config
(또는 참조이번 업데이트 버전):
StrictHostKeyChecking
이 플래그가 "yes"로 설정된 경우SSH호스트 키는
$HOME/.ssh/known_hosts
파일에 자동으로 추가되지 않으며 호스트 키가 변경된 호스트에 대한 연결이 거부됩니다. 이는 트로이 목마 공격에 대해 최대한의 보호를 제공하지만/etc/ssh/ssh_known_hosts
파일이 제대로 유지 관리되지 않거나 새 호스트에 자주 연결되는 경우 성가실 수 있습니다. 이 옵션을 사용하면 사용자가 모든 새 호스트를 수동으로 추가해야 합니다. 이 플래그가 "no"로 설정된 경우SSH새 호스트 키는 사용자의 알려진 호스트 파일에 자동으로 추가됩니다. 이 플래그가 "ask"로 설정되면 사용자가 이것이 실제로 수행하려는 작업인지 확인할 때까지 새 호스트 키가 사용자의 알려진 호스트 파일에 추가되지 않습니다. SSH호스트 키가 변경된 호스트에 대한 연결이 거부됩니다. 알려진 호스트의 호스트 키는 모든 경우에 자동으로 확인됩니다. 인수는 "예", "아니요" 또는 "질문"이어야 합니다. 기본값은 "묻기"입니다.
답변2
ssh-keyscan
- SSH 공개 키 수집
연결할 호스트 목록을 이미 알고 있는 경우 간단히 다음을 실행하면 됩니다.
ssh-keyscan host1 host2 host3 host4
-H
이제 ssh가 기본적으로 수행하는 것처럼 결과를 해시하도록 선택할 수 있습니다 .
너도 줄 수 -t keytype
있어버튼 유형예 dsa
, rsa
또는 ecdsa
기본 키 대신 가져올 키 유형을 선택하려는 경우.
일단 실행되면 ssh-keyscan
알려진 호스트 파일이 미리 채워지고 ssh는 새 키를 추가하기 위한 권한을 요청하지 않습니다.
답변3
호스트 무시
HostKeyChecking을 무시하십시오. 이를 위해 나는 예를 들어 다음을 사용합니다.
ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null [email protected]
호스트 추가
.ssh/known_hosts
처음 연결하기 전에 호스트/서버의 지문을 추가하세요. 이것이 더 안전한 방법입니다.
답변4
시도하기 전에 다음 코드 조각을 실행하세요.
mkdir -p ~/.ssh
echo "Host *" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
ps: 프로덕션 서버에는 엄격하게 적용되지 않습니다. ManInMiddle에 주의하세요.