이것은 내 이전 확장 프로그램입니다.질문. 나는로컬에 저장됨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 옵션이 추가되었습니다. 이를 통해 구성 파일은 원격 호스트에서 실행될 명령을 지정할 수 있습니다.
답변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
해당 키를 원격 서버에 전달하려면 로컬에서 사용하세요.