Javad Amirian
Javad Amirian
خواندن ۲ دقیقه·۲ سال پیش

حل مشکل دسترسی به گیت‌هاب در ایران (ناشی از صیانت)

ما و تیم‌مون متوجه شدیم دسترسی به پلتفرم گیت‌هاب از طریق ارتباط HTTPS در ایران مختل‌(صیانت) شده و امکان clone و pull یا push کردن وجود نداره. اما متوجه شدیم که ارتباط SSH باز هست، و با استفاده از این روش همه چی بخوبی کار میکنه.

  • هر چند پروتکل HTTPS روش امن‌تری هست. اما وقتی ده تا فیلترشکن نصب داری رو گوشیت، صحبت کردن از امنیت سایبری شوخیه!

تو این روش شما باید روی هر کامپیوتری که دارید یک بار مراحل زیر رو انجام بدید:
1. از دستور ssh-keygen (راهنما) استفاده کنید تا برای شما یک جفت کلید عمومی و شخصی ایجاد کنه.
در واقع این کلیدها یک کد رمزگذاری شده هستن که توی کامپیوتر شما ذخیره خواهند شد.)

$ ssh-keygen


2. پوشه‌ی پیش‌فرضی که این دو تا فایل رو میتونید توش پیدا کنید. مثلا برای من مسیر زیر هست:

[Windows] >> C:\Users\Javad\.ssh
[Linux] >> /home/javad/.ssh

توی این پوشه شما باید دو تا فایل با اسم‌های زیر ببینید: id_rsa و id_rsa.pub

3. محتویات فایل id_rsa.pub رو کپی کنید؛ که یه رشته کد مثل زیر خواهد بود:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== javad@javad-ROG--G15

⚠️ مراقب باشید محتویات فایل id_rsa رو هیچ جایی یا به هیچ کسی ندید!!!

4. به سایت گیت‌هاب برید (که خداروشکر فیلتر نیست فعلا!) وارد بخش تنظیمات پروفایل‌تون بشید: Settings


4. روی SSH and GPG keys بزنید و یک SSH Key جدید ایجاد کنید.

5. اسمش رو هر چیزی دوس دارید بگذارید و کد کپی شده از مرحله 3 رو داخل کادر بچسبونید و در نهایت دکمه Add SSH Key رو بزنید.


6. یه قدم دیگه مونده: حالا برای هر ریپوزیتوری گیت هابی رو که میخاید clone کنید، باید برید داخل صفحه‌ی ریپوزیتوری، و دکمه‌ی سبزرنگ Code رو که می‌زنید از tab مربوط به SSH لینک رو بردارید و برای clone کردن استفاده کنید. مثال:

git@github.com:opencv/opencv.git


* یه چیز دیگه: اگر یک ریپوزیتوری روی کامپیوترتون دارید که الان امکان دسترسی به گیت‌هاب نداره چی؟

بله. شما کافیه داخل پوشه‌ی ریپوزیتوری برید و آدرس گیت‌هاب‌شو اصلاح کنید به لینک بالا:

git remote set-url origin git@github.com:XXX/YYY.git

با این کار شما الان باید بتونید براحتی پروژه هاتون رو روی گیت هاب نگه دارید.


✌️

گیتهاببرنامه نویسیگیتفیلترینگامنیت سایبری
دکترای کامپیوتر - پدر رباتها :)
شاید از این پست‌ها خوشتان بیاید