Mengapa saya tidak boleh menggunakan github sebagai pengguna biasa?
漂亮男人
漂亮男人 2017-05-02 09:45:47
0
1
632

Sebagai pengguna root, anda boleh berjaya menggunakan git untuk menolak dan menarik tanpa kata laluan.
Nama projek baharu: newstart.
Berikut ialah tetapan untuk pengguna root.

su root
ssh-keygen -t rsa -f /root/.ssh/id_rsa.github -P ''

Tampal id_rsa.github.pub ke halaman web githhub kunci ssh.

git config --global user.name "someone"
git config --global user.email  "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
git clone  git+ssh://git@github.com/someone/newstart.git /tmp/newstart

Mengklon ke '/tmp/newsstart'...

Pengguna root boleh digunakan dengan jayanya tanpa sebarang masalah.

Sekarang sediakan pengguna biasa debian8 dan semua tetapan tadi akan ditetapkan semula.

su debian8
ssh-keygen -t rsa -f /home/debian8/.ssh/id_rsa.github -P ''

Tampal kunci ini id_rsa.github.pub ke kunci ssh dalam halaman web githhub.

git config --global user.name "someone"
git config --global user.email  "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
#注意,在普通用户下,无法使用config.
error: could not lock config file .git/config: Permission denied
sudo git config remote.origin.url git+ssh://git@github.com/someone/newstart.git   
ssh -T git@github.com
Permission denied (publickey).
我通过-i 参数,可以让这个普通用户连接上github.
ssh -i ./id_rsa.github.pub  -vT git@github.com
You've successfully authenticated, but GitHub does not provide shell access.
可惜,连接上没有用,无法clone.

git clone  git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Cloning into '/tmp/newstart'...
Permission denied (publickey).
fatal: Could not read from remote repository.
 Please make sure you have the correct access rights  and the repository exists.

Bagaimana saya boleh mengubah suai langkah saya untuk pengguna biasa? Apakah yang menyebabkan perkara ini berlaku?

漂亮男人
漂亮男人

membalas semua(1)
我想大声告诉你

Adalah disyorkan untuk menyemak pembolehubah persekitaran HOME anda. Mungkin anda telah mengubahnya sebelum ini, menyebabkan git tidak menemui .gitconfig sebagai tambahan, anda boleh menyemak sama ada terdapat .gitconfig dalam direktori rumah pengguna anda. Gunakan dalam direktori pengguna:

ls -a | grep .gitconfig

Jika tiada .gitconfig dipaparkan, ini mungkin kerana git tidak dapat mencari gitconfig dalam direktori utama pengguna semasa.

Atau anda boleh menggunakan perintah locate untuk mencari .gitconfig,

locate .gitconfig

Jika malangnya, anda tidak dapat mencarinya menggunakan locate, kemudian gunakan updatedb untuk mengemas kini pangkalan data locate Jika cakera keras anda cukup pantas, ia boleh disiapkan dengan cepat.

sudo updatedb

Sudah tentu anda juga boleh menggunakan perintah find, tetapi kelajuannya lebih perlahan:

sudo find / -name .gitconfig

Selepas operasi di atas mendapat keputusan, anda boleh menyemak sama ada laluan fail .gitconfig adalah hasil daripada echo $HOME Jika tidak, ini bermakna masalahnya adalah pembolehubah persekitaran $HOME anda untuk menetapkan semula kepada anda Laluan ke direktori rumah pengguna semasa.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan