모든 셸에서 원격 로그인에 대한 명령 실행

모든 셸에서 원격 로그인에 대한 명령 실행

생각하다:

  • ssh서버에 접근 할 수 있습니다
  • 어떤 쉘을 가지고 있는지 알 수 없습니다(다음에 로그인할 때 악마가 쉘을 변경할 것입니다).
  • foo로그인할 때마다(비대화식으로도) 이 명령이 실행되기를 원합니다.
  • 로그인할 때마다 bar(비대화식에서도) 환경 변수가 설정되기를 원합니다.quux

특히 가능하다면아니요생각하다:

  • 운영 체제
  • /bin/sh사용 가능한 쉘 외에도

http://mywiki.wooledge.org/DotFiles(원격 비로그인 비대화형 쉘) 및항상 서버 측 시작 파일을 로드하도록 "ssh <host> <command>"를 구성할 수 있습니까?Bash의 이 점을 잘 다루고 있지만 악마가 로그인 쉘을 Bash가 아닌 다른 것으로 변경할 수 있다는 점을 무시하는 것 같습니다.

ksh, bash, ash, dash, csh, tcsh 및 zsh에 대한 유사한 기술은 무엇입니까? ( /bin/sh로그인 쉘에서 생성되는 것은 악마의 치트로 간주되므로 허용되는 답변이 아닙니다.)

답변1

다음과 같이 시도해 볼 수 있습니다.

sshd_config:

Match User ed
    ForceCommand "bash -c ";export THING=a;/bin/bash -i""

이것은 차선책이며 골프를 칠 수 있다고 확신하지만 독자의 연습 문제로 남겨두겠습니다.

관련 정보