কমান্ড লাইন পদ্ধতি বা প্রোগ্রামে github.com ব্যবহারকারী অ্যাকাউন্টে ssh কী যুক্ত করুন


18

গিথুব ইউজার অ্যাকাউন্টে কোনও এসএস কী যুক্ত করার উদ্দেশ্যে github.com সার্ভারে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে সনাক্ত করার কোনও উপায় আছে কি? এখন পর্যন্ত আমি যা পড়েছি তার সবকটিই পরামর্শ দেয় যে কোনও ব্যবহারকারীর ssh কীটি ওয়েব জিইউআইয়ের মাধ্যমে যুক্ত করা উচিত। আমি একটি কমান্ড লাইন ইন্টারফেসের মাধ্যমে কী বা যুক্ত করার পদ্ধতি বা প্রক্রিয়াটি খুঁজছি বা অন্য কোনও ব্যাশ / উত্তরযোগ্য / কোনও স্ক্রিপ্ট।


1
গিটহাবের এপিআই ব্যবহার করতে কিছু লাইব্রেরি ব্যবহার সম্পর্কে কীভাবে ?
sr_

উত্তর:


15

ব্যবহারকারী নাম এবং পাসওয়ার্ড সহ অথ গিথুব এপিআই দ্বারা সমর্থিত :

গিটহাব এপিআই ভি 3 এর মাধ্যমে প্রমাণীকরণের তিনটি উপায় রয়েছে। ...
বেসিক প্রমাণীকরণ
$ কার্ল-ইউ "ব্যবহারকারীর নাম" https://api.github.com
...

সুতরাং আপনি যে ভাষা পছন্দ করেন তার একটি লিব বেছে নিন এবং একটি সার্বজনীন কী তৈরি করুন "পাবলিক কী" এপিআই বিভাগের প্রয়োগকৃত সংস্করণটি ব্যবহার করুন :

একটি সর্বজনীন কী তৈরি করে। আপনার কমপক্ষে [লেখুন: পাবলিক_কি] স্কোপ সহ আপনার বেসিক অথ, বা ওআউথের মাধ্যমে প্রমাণীকরণ হওয়া দরকার।

ইনপুট
POST /user/keys

{
    "title": "octocat@octomac",
    "key": "ssh-rsa AAA..."
}

আপনি যদি এটি কমান্ড লাইন (কার্লের মাধ্যমে) ব্যবহার করতে চান:

curl -u "username" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys

অথবা এমনকি পাসওয়ার্ডের জন্য অনুরোধ না করে:

curl -u "username:password" --data '{"title":"test-key","key":"ssh-rsa AAA..."}' https://api.github.com/user/keys

গিথাব এপিআইয়ের সাথে ইন্টারঅ্যাক্ট করতে কার্ল ব্যবহারের জন্য এখানে একটি দুর্দান্ত ছোট টিউটোরিয়াল


আমি ঠিক এই ধরণের তথ্যটি অনুসন্ধান করছিলাম! আপনাকে অনেক ধন্যবাদ!
সেএমোসেটিক

7

Xx4h এর উত্তরের অনুরূপ, আমি নতুন ভিএম সেটআপগুলি স্বয়ংক্রিয় করার জন্য স্ক্রিপ্টগুলিতে এটি করি।

ssh-keygen -t rsa -b 4096 -C "myemailaddress@hotmail.com"
curl -u "myusername" \
    --data "{\"title\":\"DevVm_`date +%Y%m%d%H%M%S`\",\"key\":\"`cat ~/.ssh/id_rsa.pub`\"}" \
    https://api.github.com/user/keys

এটি আপনাকে একটি নতুন এসএসএইচ কী দেয়, এটি কার্ল কলে অন্তর্ভুক্ত করে এবং গিটহাব পাশের প্রত্যেকটির জন্য একটি অনন্য তবে এখনও সহজেই সনাক্তযোগ্য নাম দেয় (যেমন এখন দৌড়ানো দেবভেম_150602142247 দেয়)।


1
#!/bin/bash

set -xe
myemail="your-email"

#your personal access token
git_api_token="befdf14c152d6f2ad8cff9c5affffffffffffffffff"

#We'll use the HTTPS to push a ssh key to git, SSH for pull/push configuration
gitrepo_ssh="git@github.com:person/repo.git"
gitrepo_https="https://github.com/person/repo.git"

#Generating SSH key:
ssh-keygen -f "${HOME}/.ssh/id_rsa" -t rsa -b 4096 -C "${myemail}" -N ''
sslpub="$(cat ${HOME}/.ssh/id_rsa.pub |tail -1)"

#git API path for posting a new ssh-key:
git_api_addkey="https://api.$(echo ${gitrepo_https} |cut -d'/' -f3)/user/keys"

#lets name the ssh-key in get after the hostname with a timestamp:
git_ssl_keyname="$(hostname)_$(date +%d-%m-%Y)"

#Finally lets post this ssh key:
curl -H "Authorization: token ${git_api_token}" -H "Content-Type: application/json" -X POST -d "{\"title\":\"${git_ssl_keyname}\",\"key\":\"${sslpub}\"}" ${git_api_addkey}

0

আরেকটি বিকল্প হ'ল একটি এপিআই টোকেন ব্যবহার করা ... আমি আমাদের অভ্যন্তরীণ গিটল্যাব সার্ভারে নিম্নলিখিতটি ব্যবহার করি

স্নিপেট:

#!/bin/bash

myemail="first.last@domain.com"

# User API token can be found: "https://git.labs.domain.com/profile/account"
git_api_token="m3iP27Jh8KSgNmWAksYp"

# We'll use the HTTPS to push a ssh key to git, SSH for pull/push configuration
gitrepo_ssh="git@git.labs.domain.com:devops/automation.git"
gitrepo_https="https://git.labs.domain.com/devops/automation.git"

########################]  D O   N O T   C H A N G E  [########################

# Generating SSH key:
ssh-keygen -f "${HOME}/.ssh/id_rsa" -t rsa -b 4096 -C "${myemail}" -N ''
sslpub="$(cat ${HOME}/.ssh/id_rsa.pub |tail -1)"

# git API path for posting a new ssh-key:
git_api_addkey="https://$(echo ${gitrepo_https} |cut -d'/' -f3)/api/v3/user/keys"

# lets name the ssh-key in get after the hostname with a timestamp:
git_ssl_keyname="$(hostname)-$(date +%Y%m%d%H%M%S)"

# Finally lets post this ssh key:
curl -H "PRIVATE-TOKEN: ${git_api_token}" -H "Content-Type: application/json" \
    -X POST -d "{\"title\":\"${git_ssl_keyname}\",\"key\":\"${sslpub}\"}"     \
    ${git_api_addkey}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.