GitはSSH URLを使用するとパスワードを要求しますが、sshはパスワードを要求しません。

GitはSSH URLを使用するとパスワードを要求しますが、sshはパスワードを要求しません。

私は3台のサーバー(Ubuntu 16.04 2台、Mac Mini 1台)とMacbookを複数持っています。

1つのサーバーUbuntuはgitlab用で、もう1つは内部サイトサーバーです。 Mac MiniはCIを実行しています。

最近、gitlabサーバーは他のgitlabサーバーに置き換えられました。 (交換したハードウェア、同じIPアドレスとホスト名、新しいソフトウェア、新しいSSHキー、およびその他のすべてのハードウェア(他のサーバーとラップトップ)は、以前と同様にSSHキーを使用します。)

すべてのMacBookは、サーバー上のユーザーのユーザー名/パスワードを使用してSSHを介してサーバーに接続でき、Gitを使用して公開鍵を使用してGitサーバーを介して複製、プッシュなどを行うことができます。

サイトサーバーは公開鍵を介してSSHを介してgitサーバーに接続できますが、ウェルカムメッセージが表示されたら接続は終了します。サイトサーバーは公開鍵でgitを使用することはできません。 Gitがパスワードを求めるプロンプトを表示せず、しばらく持続し、ユーザーのドキュメントディレクトリでテストを使用するときにのみ機能し始める公開鍵として機能しない限り、公開鍵と一緒にgitを使用することはできません. git BreaksのCloneディレクトリに再度追加します/var/www(偶然の一致であり、2回だけ機能しました)。

CIとgitサーバーの接続に問題はありません。

ssh -v を使用すると、ssh が正しい公開鍵を使用していることが出力に表示されます。

したがって、サイトサーバーで次のコマンドを実行します。

ssh [email protected] 

接続してから切断する

git clone [email protected]:somerepo.git

gitユーザーにパスワードを尋ねてください。

サイトサーバーには、gitlabにSSHキーを使用して登録されたユーザーがいます。

複数の呼び出しの出力例:https://pastebin.com/QH0AntK7

ベストアンサー1

私は同じ問題を偶然発見しました。問題は、gitユーザーのホームディレクトリからrootとして何かをしていたため、認証されたSSHキーファイルを読み取れないことでした。

修正は以下を実行することです。

$ chown -R git:git /home/git/.ssh

おすすめ記事