컴퓨터의 모든 사용자에게 ssh 호스트를 전역으로 만들기


15

따라서 SSH 에는 특정 사용자에 대한 설정을 구성하는 파일이 있습니다.

~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts

내가 좋아하는,이 파일의 일부를 세계화하고자 config하고 known_hosts. 따라서 root를 포함한 다른 사용자 가 구성된 호스트를 공유 할 수 있습니다.

가장 좋은 방법은 무엇입니까?

답변:


21

들어 ~/.ssh/config당신이 관련 시스템 전체 설정을 배치 할 수 있습니다에서 / 기타 / SSH / ssh_config를 따라 man 페이지 :

ssh (1)은 다음 소스에서 다음 순서로 구성 데이터를 얻습니다.

  1. 명령 줄 옵션
  2. 사용자 설정 파일 (~ / .ssh / config)
  3. 시스템 전체 구성 파일 (/ etc / ssh / ssh_config)

각 매개 변수에 대해 첫 번째로 얻은 값이 사용됩니다. 구성 파일에는 "호스트"사양으로 구분 된 섹션이 포함되어 있으며 해당 섹션은 사양에 지정된 패턴 중 하나와 일치하는 호스트에만 적용됩니다.

첫 번째 값만 사용되므로 사용자는 항상 시스템 전체 구성 옵션을 로컬로 무시할 수 있습니다.

들어 ~/.ssh/known_hosts당신은 사용할 수 있습니다 /etc/ssh/ssh_known_hosts또는 다른 파일은 GlobalKnownHostsFile 구성 옵션에 의해 지정된 :

GlobalKnownHostsFile

/ etc / ssh / ssh_known_hosts 대신 글로벌 호스트 키 데이터베이스에 사용할 파일을 지정합니다.

그것은 다른 파일 가능하면 내가 확실 해요,하지만 난 당신이 경우 심볼릭 링크와 함께 뭔가를 해결할 수 상상 정말 사용자들 사이뿐만 아니라를 개인 키를 공유하고 싶었다.


1
GlobalKnownHostsFile 견적에 오타가 있습니다.
cjm

1
UserKnownHostsFile = / dev / null을 설정할 수 있습니다. ssh는 사용자 known_hosts 파일에서 유효한 키를 찾지 못하지만 사용자는 하나의 임시를 허용 할 수 있습니다.
Janning

1
@Janning, 실제로 해당 IgnoreUserKnownHosts옵션 (값 yes또는 no)이있는 것 같습니다.
kael

전역 /etc/ssh/ssh_known_hosts파일은 세계가 읽을 수 있어야합니다. ssh-keygen -Hf /etc/ssh/ssh_known_hosts수동으로 항목을 추가 한 후 광산을 다시 해시 하는 데 사용 했으며 소유자 전용으로 설정 된 것으로 보입니다.
kael

1

root는 모두 강력하기 때문에 root cron 작업을 사용하여 다른 사용자로부터 파일을 복사합니다. 알려진 호스트와 인증 된 키를 간단히 추가 할 수 있습니다. 하나의 파티션에 있으면 하드 링크 옵션이 있습니다. 심볼릭 링크가 파일에 작동하는지 확실하지 않지만 시도 할 수는 있지만 공유 된 안전한 장소에 저장해야합니다.


2
IMHO가 의도하지 않은 자체 호스트를 추가하지 못하게합니다.
Maciej Piechotka

하드 링크 파일이 동일한 권한을 가져야하는지 잊어 버렸지 만 의심합니다. 그러나 cron으로 파일을 복사 한 다음 파마가 올바른지 확인할 수 있습니다.
xenoterracide
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.