이건 특별한 경우야기존 문제.
SSH 구성이 있습니다 ~/.ssh/config
. 호스트별 구성이 많기 때문에 네트워크에 새 시스템을 설치할 때마다 업데이트합니다. 루트 사용자에 대해 동일한 구성을 원하지만 아직 이를 설정하는 좋은 방법을 찾지 못했습니다.
한 가지 가능성 /root/.ssh/config
은 ~/.ssh/config
. 그러나 SSH 소프트웨어는 다음을 방지합니다.
$ sudo cat /root/.ssh/config
Include /home/joe/.ssh/config
$ sudo ssh myhost.local
Bad owner or permissions on /home/joe/.ssh/config
또한 하드 링크나 심볼릭 링크를 생성하는 것도 금지됩니다.
$ sudo ln -f ~joe/.ssh/config /root/.ssh/config
$ sudo ssh myhost.local
Bad owner or permissions on /root/.ssh/config
그래서 나는 사본을 만들기로 결정했습니다.
$ sudo rm /root/.ssh/config
$ sudo cp ~joe/.ssh/config /root/.ssh/config
$ sudo ssh myhost.local
Warning: Permanently added 'myhost.local' (ECDSA) to the list of known hosts.
...
그러나 구성을 업데이트했을 때 이 작업을 수행하는 것을 잊어버렸고 백업 스크립트가 rsync/ssh를 루트로 실행하고 있었기 때문에 백업이 중단되기 시작했습니다.
내 SSH 구성을 루트와 공유하는 더 좋은 방법이 있습니까?
답변1
이러한 구성을 사용할 수 있습니다 /etc/ssh/config
. 루트와 사용자(및 시스템의 다른 모든 사용자)가 읽을 시스템 전체 SSH 클라이언트 구성 파일입니다.
~/.ssh/config
가 우선 적용된다는 점에 유의하세요 /etc/ssh/config
. 따라서 ~root/.ssh/config
루트와 사용자가 공유하는 공통 구성을 제거 해야 합니다 ~/.ssh/config
.
답변2
시스템 전체 SSH 구성 경로는 다음과 같습니다./etc/ssh/ssh_config
우분투의 경우. 나에게는 효과가 있었습니다.