1

所有している共有ホストアカウントにリモートGitリポジトリを設定しました。別の開発者がプッシュ/プルできるようにするために、共有ホストの.ssh / authorized_keysの末尾に彼の公開鍵(id_rsa.pub)を追加しました。その後、彼は「gitpush」を実行することができました。しかし、彼が私の共有ホストでgitにアクセスする以外に何もできないことを確認したいので、manauthorized_keysによるとこれをauthorized_keysのエントリの先頭に追加しまし

command="/usr/bin/git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa ...

彼がgit-pushを実行すると、コマンドラインで「致命的:プロトコルエラー:行の長さが正しくない文字」と応答します。

Googleで検索したところ、この問題を抱えている他のユーザーを見つけましたが、この他のユーザーが私の共有ホストアカウントのシェルにアクセスできるようにしないと、これを解決する方法について適切な答えを見つけることができませんでした。

4

2 に答える 2

3

git-shell他の開発者のキーを次のように実行するように制限する必要があります

command = "/ usr / bin / git-shell -c \" $ {SSH_ORIGINAL_COMMAND:-} \ ""、no-port -.. ..
于 2010-07-11T20:04:14.523 に答える
2

~/.ssh/config次のようなローカルコマンドがあるかどうかを確認します

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'

その場合は、gitサーバーを使用するときにそのコマンドを実行しないようにしてください。LocalCommand目的のホストに対してのみオーバーライドすることで、これを行うことができます。

Host *github*
    LocalCommand ''

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'
于 2014-09-25T15:28:45.733 に答える