2016-03-18 62 views
2

我想將我的SSH密鑰添加到git服務器(公司服務器)上的授權密鑰,無需每次都插入密碼我推。但由於某種原因,我無法做到這一點。如何在Git服務器上插入SSH密鑰(僅限git-shell訪問)

我的嘗試:

ssh-copy-id [email protected] 
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed 
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys 
[email protected]'s password: 
fatal: unrecognized command ' 
     umask 077 ; 
     mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ; 
     if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi' 

當我嘗試ssh到git的服務器,我得到如下回應:

fatal: Interactive git shell is not enabled. 
hint: ~/git-shell-commands should exist and have read and execute access. 

顯然,用戶帳戶使用git-shell和它似乎不理解通常的shell命令。

是否仍有可能以某種方式將公共SSH密鑰添加到git服務器用戶帳戶?有沒有可能允許我將我的公共SSH密鑰放入列表的一些git命令?

我對git服務器的唯一訪問權限是通過命令行,並且有GitWeb接口正在運行(但在那裏我沒有看到任何安裝SSH密鑰的選項)。

+0

如果你只被賦予的git-shell訪問,我想你會遇到麻煩添加SSH密鑰。你有沒有和你公司的系統管理員/服務器維護人員交談? – Holloway

+0

還沒有,我試圖先解決這個問題。但似乎沒有其他選擇,所以我會與他們覈對。 – axalis

回答

1

您應該聯繫您的系統管理員,確保沒有其他人的寫入權限的用戶主目錄權限。

/home/user/.ssh權限建議成爲其組和擁有者本身0700/home/user/authorized_keys權限0600。我認爲user組是git

# cd /home/user 
# chown -R user:git .ssh 
# chmod 0700 .ssh 
# chmod 0600 .ssh/authorized_keys 

如果這個文件(.ssh/authorized_keys),該~/.ssh directory,或用戶的主目錄是由其他用戶可寫的,則該文件可能被修改或未經授權的用戶所取代。在這種情況下,sshd將不允許使用它,除非StrictModes選項已設置爲「否」。

的介紹:剛纔看到man 8 sshd