ssh_config: 로그인 시 원격 컴퓨터에서 실행할 명령을 지정합니다.

ssh_config: 로그인 시 원격 컴퓨터에서 실행할 명령을 지정합니다.

이것은 내 이전 확장 프로그램입니다.질문. 나는로컬에 저장됨mount /home로그인할 때 원격 시스템(예: ssh )에서 명령을 실행합니다. 현재 나는 다음을 사용하고 있습니다 :

ssh -t mymachine.example.com 'mount /home ; /bin/bash'

.ssh/config이것은 훌륭하게 작동하지만 매번 입력할 필요가 없도록 이것을 명령에 넣을 수 있는지 궁금합니다 . 옵션 을 찾았 LocalCommand지만 옵션이 표시되지 않습니다 RemoteCommand.

command-to-be-executed이 파일에는 암호화된 디스크를 여는 데 필요한 비밀번호가 포함되어 있으므로 컴퓨터에 로컬로 저장하는 것이 중요합니다 . 그렇기 때문에 .profile원격 컴퓨터 에 명령을 넣을 수 없습니다 .

답변1

RequestTTY yes
RemoteCommand screen -UDr

답변2

이는 OpenSSH 7.6에 추가되었습니다.

클라이언트 명령줄에서 명령을 제공하는 대신 SSH 구성 파일에서 명령을 지정하는 RemoteCommand 옵션이 추가되었습니다. 이를 통해 구성 파일은 원격 호스트에서 실행될 명령을 지정할 수 있습니다.

인용하다:https://www.openssh.com/txt/release-7.6

답변3

이 질문은 이전에 SuperUser에서 요청되었습니다.첫 번째 답변은 요구 사항을 충족하지 않는 원격 파일을 사용하지만 로컬 별칭 사용을 제안하는 두 번째 답변은 문제에 대한 해결책이 될 수 있습니다.

실행할 명령은 암호화된 디스크를 여는 데 필요한 비밀번호를 포함하므로 로컬 컴퓨터에 저장하는 것이 중요합니다. 그렇기 때문에 원격 시스템의 .profile에 명령을 넣을 수 없습니다.

이는 안전하지 않을 수 있습니다. 이 명령을 ssh 명령으로 사용하면 원격 서버 echo에 표시됩니다 .ps

martin@martin ~ % ssh dev2 "echo hello; ps aux|grep echo"

hello
root     25358  0.0  0.0   5848  1296 ?        Ss   11:27   0:00 bash -c echo hello; ps aux|grep echo
root     25362  0.0  0.0   5012   828 ?        S    11:27   0:00 grep echo

답변4

아직 시도하지는 않았지만 한 가지 접근 방식은 다음과 같습니다.

  • Subsystem일부 환경 변수를 읽어 원격 명령문에서 sshd_config원하는 명령을 실행하십시오.
  • SendEnv.ssh/config해당 키를 원격 서버에 전달하려면 로컬에서 사용하세요.

관련 정보