Setelah berhasil mengkloning repo saya dari heroku dan menambahkan remote lain
1/ git clone [email protected]:[APP].git
2/ git remote add bitbucket ssh://[email protected]/[ACCOUNT]/[REPO].git
3/ git push bitbucket master
Saya masih mendapatkan kesalahan ini setelah menjalankan baris (3) atau menggunakan SourceTree
conq: repository access denied. access via a deployment key is read-only.
Pertama, saya tidak mengerti apa arti pesan ini dalam praktiknya. Dan itu memalukan.
Saya membuat pasangan kunci ssh dan menambahkan ke heroku:
ssh-keygen -t rsa
heroku keys:add ./id_rsa.pub
Saya juga menambahkan kunci saya di bagian kunci penempatan di BitBucket. Tapi aku pasti melewatkan sesuatu. Pertanyaan ini bukan karena malas, saya telah membaca berbagai dokumen termasuk panduan BitBuckets. Tapi itu masih tidak menyelesaikan masalah ini.
Posting ini terkait dengan Bisakah saya mengimpor repo heroku git saya ke bitbuket? dan bagaimana?
FAKTA TAMBAHAN:
ssh -T [email protected]
conq: authenticated via a deploy key.
You can use git or hg to connect to Bitbucket. Shell access is disabled.
$ ssh -v [email protected]
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/joel/.ssh/config
debug1: Applying options for bitbucket.org
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to bitbucket.org [207.223.240.181] port 22.
debug1: Connection established.
debug1: identity file /Users/joel/.ssh/id_rsa type 1
debug1: identity file /Users/joel/.ssh/id_rsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /Users/joel/.ssh/known_hosts:5
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/joel/.ssh/id_rsa
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: read PEM private key done: type RSA
debug1: Remote: Forced command: conq deploykey:13907
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
Authenticated to bitbucket.org ([207.223.240.181]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LC_CTYPE = UTF-8
PTY allocation request failed on channel 0
Sepertinya semua baik-baik saja.
Jawaban:
Kebingungan pertama di pihak saya adalah tentang di mana tepatnya untuk mengatur SSH Keys di BitBucket.
Saya baru mengenal BitBucket dan saya sedang menetapkan Kunci Penerapan yang hanya memberikan akses baca .
Jadi pastikan Anda mengatur
rsa pub key
di Pengaturan Akun BitBucket Anda .Klik avatar BitBucket Anda dan pilih Pengaturan Bitbucket (
Kelola akun). Di sana Anda akan dapat mengatur Kunci SSH .Saya hanya menghapus Kunci Penempatan , saya tidak perlu untuk saat ini. Dan itu berhasil
sumber
Sekarang opsi SSH berada di bawah pengaturan keamanan
Klik Avatar Anda -> Pengaturan Bitbucket -> Kunci SSH -> Tambahkan Kunci
Rekatkan kunci publik Anda
sumber
Anda perlu menambahkan kunci Anda ke profil Anda dan BUKAN ke repositori tertentu. ikuti ini: https://community.atlassian.com/t5/Bitbucket-questions/How-do-I-add-an-SSH-key-as-opposed-to-a-deployment-keys/qaq-p/413373
sumber
Kunci penerapan hanya baca. Untuk mengaktifkan akses tulis, Anda perlu:
Hapus kunci penyebaran ini dari pengaturan repositori Anda. Anda tidak akan dapat menulis ke repo ini dengan kunci ini.
Pergi ke "Avatar -> Pengaturan -> Kunci SSH" dan tambahkan kunci yang sama
Sekarang coba tekan untuk menghapus cabang
Anda bisa menulis ke repositori sebelumnya tetapi ini adalah perubahan dalam BitBucket di mana Anda tidak lagi bisa menulis dengan menggunakan kunci deploy.
sumber
'Kunci Penempatan' hanya untuk akses Hanya Baca. Mengikuti adalah cara yang baik untuk mengatasi ini.
sumber
Anda harus menghapus kunci penempatan terlebih dahulu jika Anda ingin menambahkan kunci yang sama di bawah Kelola Kunci SSH Akun.
sumber
Someone has already registered this as a deploy key.
TLDR: ssh-add ~ / .ssh / yourkey
Saya baru saja menyelesaikan masalah ini.
Dan tidak ada jawaban lain yang membantu.
Saya memang memiliki ./ssh/config dengan semua hal yang benar, juga repositori yang sebelumnya berfungsi dengan baik (akun bitbucket yang sama, kunci yang sama). Kemudian saya membuat deploy_key, dan setelah itu membuat repositori baru.
Setelah itu tidak bisa mengkloning repo baru.
Saya berharap saya tahu bagaimana / mengapa ssh agent mengacaukan ini, tetapi menambahkan kunci menyelesaikannya. Maksud saya menambahkan kunci di Ubuntu lokal saya, bukan di admin bitbucket. Perintah itu adil
Semoga ini bisa membantu seseorang.
sumber
Saya mengalami ini ketika saya mencoba menggunakan kunci penempatan karena itulah yang saya inginkan.
Saya dapat terhubung melalui
ssh -T [email protected]
dan itu akan memberitahu saya saya memiliki akses untuk membaca repositori yang saya inginkan, tetapigit clone
akan gagal.Menghapus
~/.ssh/known_hosts
, membuat kunci baru melaluissh-keygen
, menambahkan kunci baru itu ke bitbucket, dan mencoba memperbaikinya untuk saya.sumber
Saya ingin menekankan kembali hal-hal berikut:
Butuh waktu lama bagi saya untuk menyadari, entah bagaimana bahkan setelah membaca jawaban di sini tidak klik.
sumber
Pertama-tama pilih atau buat kunci yang ingin Anda gunakan untuk mendorong ke Bitbucket. Katakanlah kunci publiknya ada di
~/.ssh/bitbucket.pub
~/.ssh/config
:sumber
Baru-baru ini saya menghadapi masalah yang sama. Saya mendapat kesalahan berikut:
akses repositori ditolak. akses melalui kunci penyebaran hanya baca.
Anda dapat memiliki dua jenis kunci SSH:
Saya cukup menghapus kunci SSH repositori saya dan menambahkan kunci SSH baru ke akun saya dan itu berhasil dengan baik.
Saya harap ini membantu seseorang. Bersulang
sumber
Saya memiliki masalah yang sama dengan Kabir Sarin. Solusinya adalah mengkloning repo melalui SSH, daripada menggunakan URL https. jadi inilah yang membantu saya, dan semoga orang lain:
sumber
Langkah:
Buat kunci ssh di server sumber
ssh-keygen
Cat dan salin id_rsa.pub yang terletak di bawah direktori ~. / Ssh
Periksa apakah itu berfungsi dengan menjalankan perintah di bawah ini pada server sumber
git remote show origin
Untuk mengambil dan mendorong dari server sumber, jika protokolnya adalah 'https' maka Anda harus mengubahnya ke 'git + ssh' dengan menjalankan perintah di bawah ini
git remote set-url origin git+ssh://<bitbucketaccount>@bitbucket.org/<accountname>/repo.git
Periksa apakah Anda dapat melakukan push to the repo.
Selesai!
sumber
Yang Anda butuhkan - tambahkan kunci lain dan gunakan.
Seperti yang saya temukan kunci pertama - selalu Kunci Penempatan.
sumber
Terkadang itu tidak berhasil karena Anda secara manual mengatur kunci lain untuk bitbucket
~/.ssh/config
.sumber
Langkah 1: Menghasilkan kunci
ssh-keygen
ini akan meminta Anda untuk memasukkan lokasi penyimpanan untuk kunci, Anda dapat mengetik/Users/[machinename]/.ssh/[keyname]
Step2: mendorong kunci ke lokasi yang sesuai [mac dan akun jarak jauh yaitu Github, bitbucket, gitlab dll]
ssh-add -K ~/.ssh/[keyname]
terminal untuk menambahkan kunci pribadi Anda ke macpbcopy < ~/.ssh/[keyname].pub
untuk menyalin kunci publik ke clipboardsumber
ini dia kode lengkap untuk mengkloning semua repo dari tim / pengguna BitBucket yang diberikan
Info lebih lanjut: https://thepythoncoding.blogspot.com/2019/06/python-script-to-clone-all-repositories.html
sumber
untuk kesalahan ini: conq: akses repositori ditolak. akses melalui kunci penyebaran hanya baca.
Saya mengubah nama kunci saya, misalnya
Saya bekerja pada kunci saya sendiri di bitbucket
sumber