2011-10-05 4 views
2

프로필을 수정할 수없고 일반적인 대화 형 세션을 시작하기 전에 몇 가지 명령으로 환경을 설정할 수있는 서버로 ssh 만 보내고 싶습니다.대화식 SSH 세션 시작시 명령을 주입하는 방법은 무엇입니까?

아이디어가 있으십니까?

끝에 "상호 작용"명령과 함께 expect 스크립트를 사용했습니다. 대부분의 경우 작동하지만 어색하고 일부 콘솔 앱이 중단됩니다. 또한 빈 기대와 socat로 extermienting되었습니다. 다른 제안?

+0

아차, 당신이 프로필을 편집 할 수 없습니다 보았다. –

+0

이것은 다소 습득하고자하는 것입니다. http://stackoverflow.com/questions/1633750/ssh-with-command-plus-the-shell/1634179#1634179하지만 여전히 몇 가지 문제가 있습니다. –

답변

1

당신이 파일 시스템에 어딘가에 쓸 수 있다면,이 같은 사용자 정의 rc 파일로 떠들썩한 파티를 호출 할 수 있습니다 : 이것은 단지, 대화 형 쉘하지 작업을 나타

ssh [email protected] -t bash --rcfile /home/user/my_private_profile -i 

주 로그인 셸. ssh에 대한 -t 옵션을 사용하면 명령을 지정하더라도 pty가 할당됩니다. 어디서든 파일 시스템에 쓸 수없는 경우

, 당신은 rcfile에로 명명 된 파이프를 공급하기 위해 서브 쉘을 사용할 수

$ ssh ares -t "bash --rcfile <(echo 'FOO=foo';echo 'BAR=bar') -i" 
[email protected]:~$ echo $FOO 
foo 
[email protected]:~$ echo $BAR 
bar 
+0

건배하지만 두렵다. 나는 이미 -t와 -tt를 사용하고 있는데, 파일 시스템에 쓸 수 없다. 그것은 피타입니다 :) –

+0

파일을'/ tmp'에 넣을 수 없습니까? –

+0

아니더라도, 내 대답을 참조하십시오. –

관련 문제