2010-04-07 3 views
12

당신은 "ssh를 second_machine"당신이 일반적으로 내가 매우 긴 경로 디렉토리에 my_machine하고 있어요 홈 디렉토리SSH를 특정 디렉토리로 직접 이동시키는 방법은 무엇입니까?

그러나에 second_machine에 연결할 수 있고, 내가 second_machine 및 이동에 연결하고자 할 때 내 작업 디렉토리 바로. 그래서 매번 난에 있습니다

ssh를 second_machine
CD/아주/긴/경로// 디렉토리/

은 자동으로 만들 수있는 방법이 있나요? 당신

ssh -t second_machine "cd /very/long/path/to/directory/; bash" 

당신이 필요한 경우 다른 쉘 bash는, 대체를 실행하고자하는 가정을 위해이 일을해야

+2

자매 사이트 (http://superuser.com/ – gehsekky

+0

)에서 더 나은 답변을 얻을 수 있습니다. http://stackoverflow.com/questions/2706608 –

+0

http://serverfault.com/questions/167416/how -can-i-automatic-change-ssh-login-on-ss-login –

답변

18

(SSH가 자동으로 원하는 디렉토리로 이동).

+0

사양을 충족합니다! 고마워 :) – Debugger

+2

그리고이 때문에 작동합니다 : 1) ssh는 homedir에서 껍질을 시작합니다. 2) 쉘은 전달 된 명령을 실행합니다. 3) 첫 x 째 명령 (쉘 명령'cd')은 해당 쉘에서 cwd를 변경합니다. 4) 두 번째 명령 인'bash'는 부모 프로세스 (원래 쉘이 ssh로 시작한 쉘)에서'cwd'를 상속받은 새 쉘을 시작합니다. – dangonfast

+0

'ssh'에게 실행 전에 cwd를 직접 변경하도록 지시하는 방법이 있어야합니다 많은 단계를 건너 뛰는 초기 쉘. – dangonfast

0

내가 사용하고있는 것과 비슷한 것을 할 수 있습니다. 아래에 별칭을 만듭니다.

alias sshh  'ssh -t \!* "cd $PWD ; csh"' 

이 다른 시스템의 '현재'경로로 바로 제공 (여기서, CSH도 bash에 의해 대체 될 수 있습니다). 사용법은 [$] sshh somemachine 과 비슷할 것입니다. 그러나 느리게 작동합니다. 그래서 대안을 찾고 있습니다.

관련 문제