我在Ubuntu 15.04,筆者的客戶端版本是SSH服務器的bash -c 「CD/tmp目錄&& git的拉動」,CD不工作,需要添加回聲第一
OpenSSH_6.9p1 Ubuntu-2ubuntu0.2, OpenSSL 1.0.2d 9 Jul 2015
當我嘗試運行以下命令ssh [email protected] bash -c 'cd /path/to/repo && git pull'
裁談會不是有效的,我得到了
fatal: Not a git repository (or any of the parent directories): .git
但是如果我做
ssh [email protected] bash -c 'echo test && cd /path/to/repo && git pull'
然後它
Already up-to-date.
當然我很清楚echo
是不應該改變什麼,但嘗試幾次,在幾個不同的服務器數天之後(雖然都是在Debian)我現在肯定有這個錯誤。 其他服務器上我試圖命令cd /tmp && pwd
,並且我得到了我的主目錄,如果我做echo toto && /tmp && pwd
我去/tmp
印刷...
雞蛋裏挑骨頭船長檢查:在OpenSSH服務器使用該帳戶的登錄shell運行遠程命令,不一定是/ bin/sh。除此之外,我認爲你已經發現了。 – Kenster
@Kenster雖然這是一個不錯的選擇,因爲它有所作爲(例如當用戶使用'chsh -s/bin/nologin'或類似的方法鎖定用戶時)。編輯。 – ephemient