.ssh/rc 파일을 무시하시겠습니까?

.ssh/rc 파일을 무시하시겠습니까?

~/.ssh/rc 파일이 있는 원격 서버가 있습니다. 서버에 SSH로 접속할 때마다 파일이 실행되고 원격 셸에 접속됩니다. 보통 그것이 내가 원하는 것입니다. 때때로 나는 이것을 원하지 않습니다.

~/.ssh/rc가 실행되지 않도록 ssh를 실행할 때 제공할 수 있는 옵션이 있습니까?

답변1

클라이언트는 이 작업을 수행할 수 없습니다. 이는 보안 기능입니다. ~/.ssh/rc파일은 클라이언트가 우회할 수 없는 작업을 수행할 수 있습니다(비록 일반적인 용도는 아니지만).

작업을 우회하는 가장 확실한 방법 ~/.ssh/rc은 환경 변수에 의존하는 코드로 작업을 래핑하고 클라이언트가 이 환경 변수를 서버에 전달할 수 있도록 하는 것입니다( AcceptEnv의 지시어 /etc/sshd_config).

서버 측에서 이를 수행하는 또 다른 방법은 다음과 같습니다.no-user-rc매개변수와 함께 키 사용.

답변2

ssh설명서와 설명서를 잠깐 훑어본 후 볼 수 있는 유일한 방법은 sshd이 파일을 넣는 것 뿐입니다.아니요SSH를 변경하여 실행됨고객이는 별도의 키를 사용하여 호스트를 인증함으로써 수행됩니다.

~/.ssh/rc사용자가 사용할 수 있는 특정 키에 대한 파일 no-user-rc옵션 을 설정하여 실행을 비활성화할 수 있습니다 .~/.ssh/authorized_keys

파일은 일반적으로 다음과 같습니다.

ssh-ed25519 AAAASOMEKEYSIGNATUREHERE myself@somehost

이는 sshd매뉴얼에 설명된 옵션으로 보완될 수 있습니다.

no-user-rc ssh-ed25519 AAAASOMEKEYSIGNATUREHERE myself@somehost

rc그런 다음 파일이 실행될 때 다른 다른 키를 추가할 수 있습니다 .

no-user-rc ssh-ed25519 AAAASOMEKEYSIGNATUREHERE myself@somehost
ssh-ed25519 AAAASOMEDIFFERENTKEYSIGNATUREHERE myself@somehost

rc로컬에서는 파일 실행 여부에 따라 별도의 키를 사용하여 다음 구성을 사용하여 연결할 수 있습니다 ~/.ssh/config.

Host myhost
    Hostname theremote.host
    User myself
    IdentityFile %d/.ssh/id_ed25519

Host myhost-norc
    Hostname theremote.host
    User myself
    IdentityFile %d/.ssh/id_ed25519-norc

여기서 조 서명의 서명은 조 서명의 서명 ~/.ssh/id_ed25519-norc과 일치합니다 no-user-rc.

꽤 복잡해 보이지만 솔직히 이 rc파일 실행을 피할 수 있는 다른 방법을 찾을 수 없습니다. 또 다른 옵션은,Giles가 제안한대로rc, 특정 환경 변수를 기반으로 수행되는 모든 작업을 파일이 우회 하도록 하고 대신 /etc/ssh/sshrc파일이 존재하지 않는 경우 일반적으로 호출하는 것처럼 호출합니다 rc( sshd설명서에는 /etc/ssh/sshrc존재하지 않는 경우 다음을 사용하라고 나와 있습니다. 설명서를 xauth참조하세요. sshd더 많은 정보 ).

관련 정보