web-dev-qa-db-ja.com

Windows / git / tortoisegit / PuTTY / SynologyでSSH認証を設定する方法

私は絶望的に混乱しています。プル/プッシュするたびにTortoisegitがパスワードを要求するのを止めようとしています(Windowsにログオンするたびに1回は問題ありませんが、その後は自動で実行します)。

私のgitサーバーはSynologyで実行していますNAS公式Gitサーバーパッケージ経由。ssh:// user @ server/foo/bar経由で複製します。

これが私がやったこと/試したことです:

  • puttygenを介して公開鍵と秘密鍵のペアを自分で作成しました。
  • puTTY認証エージェント(ページェント)を起動し、秘密鍵を追加しました。
  • サーバーのauthorized_keysファイルを/ root/.ssh /に作成しました。私は、公開鍵ファイルのBase64エンコードされた部分と---- BEGIN SSH2 PUBLIC KEY ----ヘッダーと対応するフッター。
  • sSHクライアントとしてTortoiseGitPLink.exeを使用するようにtortoisegitを設定します(デフォルト、私はそう思います)。 pageant.exeも試しましたが、「このキーをロードできませんでした(ファイルを開くことができません)」というエラーが発生します。

それでもパスワードの入力を求められますが、PuTTYエージェントはプロセスに関与しているようには見えません(認証後もキーはありません)。何かアドバイスをいただければ幸いです。

7
me--

Sshキーの厳しい指示に従っていることを確認してください

Windows GitおよびTortoiseGitでは、Windowsで2つの環境変数を設定する必要があります。

GIT_SSH = C:\ Program Files\TortoiseGIT\bin\TortoiseGitPlink.exe

SVN_SSH = C:\ Program Files\TortoiseGIT\bin\TortoiseGitPlink.exe

(異なる場合はパスに置き換えてください)

また、PLINK_PROTOCOLがオーバーライドされていないことを確認する必要があります。それ以外の場合、PLINK_PROTOCOL = ssh

これらの変更を行った後、以下を使用してアクセスを確認します。

Dosコマンドウィンドウを開き、コマンドplink git @ your git depot server nameを発行します。

Gitリポジトリのリストが返された場合は、Gitと通信しています。

エラーが返された場合は、.ssh/configおよび/またはetc/hostsウィンドウファイルを編集する必要があります。

4
portunknown

「公開鍵を保存」ボタンで保存した公開鍵を使いたくない。 PuTTY Key Generator UI内から、上のボックスのテキストをauthorized_keysファイルにコピーする必要があります。

PuTTY Key Generator

正確にコピーし、authorized_keysファイルの1行にする必要があります。

また、ssh://root@server/foo/barを使用してリポジトリのクローンを作成していますか?そうでない場合は、正しいユーザーのauthorized_keysファイルに公開鍵を追加していることを確認する必要があります。

2
heavyd

PuTTYから生成されたOpenSSH形式のsshキーをLinuxアカウントに追加し、Githubまたは別のLinuxサーバーにログインできるかどうかをテストする

  1. _id_rsa_および_id_rsa.pub_を_~/.ssh_フォルダーにコピーします。 _id_rsa_を使用して_400/600_ファイルの権限を_chmod 600 ~/.ssh/id_rsa_に変更します https://stackoverflow.com/a/9270753/475288

  2. _ssh-agent_がeval $(ssh-agent -s) and start/restart ssh-agent`を使用して実行されているかどうかを確認します( https://stackoverflow.com/a/17848593/475288

  3. _ssh-agent_にssh秘密鍵を追加します:_ssh-add ~/id_rsa_( https://help.github.com/articles/generating-a-new-ssh-key-and- add-it-to-the-ssh-agent /#adding-your-ssh-key-to-the-ssh-agent

  4. アカウントに公開鍵が添付されていることを確認します( https://help.github.com/articles/error-permission-denied-publickey/ ):_ssh-add -l -E md5_。出力は2048 MD5:de:5d… /home/username/.ssh/id_rsa (RSA)のようになります。

  5. sshを使用してgithubまたは他のサーバーにログインできることを確認します( https://help.github.com/articles/testing-your-ssh-connection/ =):_ssh -T [email protected]_。出力は_Hi username! You've successfully authenticated, but GitHub does not provide Shell access._になるはずです

  6. _key_load_public: invalid format_などのエラーが表示される場合は、Puttygen公開鍵形式を使用していることを意味します。 OpenSSHバージョンの公開鍵に変更するには、次の手順に従います:( https://stackoverflow.com/a/44391850/475288

0
alpha_989