以下の手順に従ってプロジェクトをアップロードしました。
グローバル設定
Download and install Git
git config --global user.name "Your Name"
git config --global user.email [email protected]
Add your public key
Next steps:
mkdir tirengarfio
cd tirengarfio
git init
touch README
git add README
git commit -m 'first commit'
git remote add Origin [email protected]:tirenga/tirenga.git
git Push Origin master
しかし、私はこのエラーが出ます:
許可が拒否されました(公開鍵)。 fatal:リモートエンドが突然ハングアップしました
私にとって問題は、Sudoを介したcloneの実行でした。
あなたがユーザ権限を持っているディレクトリ(/ home/user/git)にクローンするなら、それはうまく働きます。
(説明:スーパーユーザーとしてコマンドを実行しても、ユーザーとしてコマンドを実行した場合と同じ公開鍵では機能しません。そのため、Githubは接続を拒否しました。)
このソリューションでは、すでにSSHキーを設定する必要があります。 https://help.github.com/articles/generating-ssh-keys
私の公開鍵をgithubに追加しなければなりませんでした。 https://help.github.com/articles/generating-ssh-keys
はい、それは公開鍵の問題です。私はwindowsユーザーですそして、以下のページは私がこの問題を解決するのを助けます。
もっと正確に言うと、このリンクは役に立つはずです
https://help.github.com/articles/error-permission-denied-publickey
rSA鍵ペアを作成したら、次のコマンドを使用してSSHに追加する必要があります。
ssh-add ~/.ssh/id_rsa
またはあなたがrsa鍵ペアを作成した場所ならどこでも。
ユーザー名とリポジトリ名を使用して次のコマンドを入力します。
git clone https://github.com/{user name}/{repo name}
ubuntuではこれは完璧に動作します。
チュートリアルで久しぶりに解決策を得ました。
私はこのリンクでgithubのチュートリアルに従った - > https://help.github.com/articles/error-permission-denied-publickey そして私はあらゆるステップで接続することができた。しかし、git Push -u Origin masterをgitしようとしていたとき、私はこのエラーを得ました:
許可が拒否されました(公開鍵)。 fatal:リモートリポジトリから読み込めませんでした。
正しいアクセス権があることを確認してください
どうやって修正したのでしょう!!ターミナルを使ってプロジェクトディレクトリに行き、チェックアウトしてください。
$git remote -v
あなたはこのようなものを得るでしょう:
Origin ssh://[email protected]/yourGithubUserName/yourRepo.git (fetch)
Origin ssh://[email protected]/yourGithubUserName/yourRepo.git (Push)
[email protected]以外のものを使用している場合は、次のコマンドを入力してgitディレクトリにある設定ファイルを開きます。
vi .git/config
そしてラインを設定して下さい
[remote "Origin"]
url = ssh://[email protected]/yourGithubUserName/yourRepo.git
fetch = +refs/heads/*:refs/remotes/Origin/
私の場合は、メインユーザー用の公開鍵をすでに持っているので、他のユーザー用に公開鍵を設定する必要がありました。ユーザーを切り替えて上記のリンクでコマンドを実行すると、テストサーバーのセットアップを問題なく実行できました。
私はこの問題を抱えていましたが、上記の解決策はどれもうまくいきませんでした。クローンを作成して取得することはできましたが、プッシュできませんでした。結局、問題は私の.git/config
のurl
にあることがわかりました。
[email protected]:<username>/<project>
(ssh://github.com/<username>/<project>.git
やhttps://github.com/<username>/<project>.git
ではありません).
ここで答えがどれも私のために働かなかったことを考えて、私はついにssh -vT [email protected]でBitbucket(またはGithub、この場合は関係ない)に接続する私の問題を突き止めました。
私の場合、失敗はRSAの代わりにDSAキーを使用することによるもので、私のSSHクライアントはもはやそれを許可していないようです。
debug1:PubkeyAcceptedKeyTypesにないためにssh-dssキー/c/Users/USER/.ssh/id_dsaをスキップしています
解決策はこれを.ssh/configに追加することでした。
Host *
PubkeyAcceptedKeyTypes +ssh-dss
これはssh-dssキータイプを既存のすべての公開キータイプにエレガントに追加します。これが完了した後、gitは今度からBitbucketに問題なくsshできます。
私の問題は、私のMac端末でssh-keygen
を入力するたびに、sshキーに固有の名前を付けようとしていたことです。
私は "ssh-keygen"が生成する名前をそのままにして問題を解決しました= id_rsa
。あなたはあなたの秘密鍵であるid_rsa
とあなたの公開鍵であるid_rsa.pub
の2つの鍵をあなたのMacのあなたの.sshフォルダーに入れることになるでしょう。それから、コードをid_rsa.pub
からGitHubアカウント設定にコピーして保存しましたが、それで終わりです。問題が解決しました。
あなたのコンピュータにgitがインストールされていれば良いものです:
公開鍵を追加することが解決策です。ssh鍵を生成するには、 https://help.github.com/articles/generating-ssh-keys ステップバイステップの手順があります。
ただし、キーが正しい方法で生成されない場合、問題は解決しません。私はこれも便利なリンクであることがわかりました。 https://help.github.com/articles/error-permission-denied-publickey
私の場合は、Sudoを使わずにsshキーを生成していたのですが、gitコマンドを使うときはSudoを使う必要がありました。上のリンクのこのコメントは、「SudoなしでSSH鍵を生成した場合、Sudo git Pushのようなコマンドを使用しようとしても、生成したSSH鍵は使用されないことになります」助けて頂きました。
だから、解決策は私が鍵生成コマンドとgitコマンドの両方でSudoを使わなければならなかったということでした。または他の人たちにとって、Sudoがどこにも必要ないときは、2つのステップのどちらにも使用しないでください。 (キー生成とgitコマンド).
WindowsでSSHまたはGit Cloneを実行しているときにも、同様の問題に直面しました。以下の調査結果は私の問題を解決するのに役立ちます:
また、ホームフォルダーにデフォルトの.sshフォルダーを使用するようにgitに指示する方法があると思いますが、それでも方法を把握する必要があります。
私にとっては、これは次のように機能しました。
GitHubでは、ssh
リンクをhttps
に変更してから、次のコマンドを入力しました。
$ git init
$ git remote add Origin https:...
$ git add .
$ git commit -m "first commit"
$ git Push Origin master
あなたはsshからhttpsにbranchへのあなたのタイプ接続を変えることを試みることができます。
nano project_path/.git/config
[email protected]:username/repository.git
をhttps://[email protected]/username/repository_name.git
に置き換えますctrl
+ o
その後、公開鍵なしでgit pull
を試すことができます
もしあなたがLinuxマシンを使っているなら、チェックしてください。
新しいSSHキーを生成してGithubアカウントに追加すると、問題が解決しました。詳細はこのページをご覧ください。 GitHelp 。
Windowsストアでubuntuを使う
linux用のwindowsサブシステム
、あなたのgit Pushは異なるアカウントにまたがって機能します。