برنامه نویسی

استفاده از SSH برای اتصال Local Git به Remote Repositories

Summarize this content to 400 words in Persian Lang
این یک پست متقاطع از وبلاگ من است: https://www.bryanprim.us/blogs/using-ssh-to-connect-local-git-to-remote-repositories

Github، Gitlab، Bitbucket و بسیاری دیگر، پلتفرم هایی برای میزبانی مخازن راه دور با استفاده از Git هستند.دو روش رایج برای اتصال به یک مخزن راه دور از Git محلی، HTTPS و SSH هستند.

هر کدام مزایا و معایب خاص خود را دارند، اما در طول این پست وبلاگ ما بر روی SSH تمرکز خواهیم کرد زیرا این روش متداول ترین روش مورد استفاده است و در مقایسه با HTTPS مزایای زیادی را ارائه می دهد.

توجه: مطمئن شوید که git را روی دستگاه محلی خود نصب کرده اید. از آنجایی که این پست وبلاگ همچنین می تواند به عنوان یک راهنمای عملی برای هر زمان که می خواهید یک اتصال SSH جدید به یک مخزن راه دور راه اندازی کنید، یا می توانید مستقیماً به Generating Keys SSH بروید.

SSH و Git

SSH پروتکلی است که به شما امکان می دهد به طور ایمن ارتباط بین یک ماشین محلی و یک میزبان راه دور را انجام دهید. Git یک سیستم کنترل نسخه توزیع شده است که برای ردیابی تغییرات فایل ها و دایرکتوری ها در طول زمان طراحی شده است.

Git اساسا یک ابزار همکاری است که به شما اجازه می دهد تا روی چیزی هوشمندانه کار کنید و استفاده از SSH به شما کمک می کند تا تغییرات خود را به روشی امن با افراد دیگر در میان بگذارید.

مزایای استفاده از SSH بر روی HTTPS

امنیت

هنگام استفاده از HTTPS برای اتصال به یک مخزن راه دور، معمولاً از احراز هویت مبتنی بر رمز عبور استفاده می کنید. رمز عبور و داده‌ها رمزگذاری شده‌اند، بنابراین برای کسی در شبکه به راحتی قابل خواندن نیست. با این حال، HTTPS معمولاً به یک رمز عبور تکیه می‌کند که هر بار آن را تایپ می‌کنید، که اگر کسی موفق شود شبکه شما را در حین ورود رهگیری کند یا رمز عبور حدس بزند یا دزدیده شود، می‌تواند آسیب‌پذیر باشد.

در همین حال هنگام استفاده از SSH از یک جفت کلید خصوصی و عمومی برای احراز هویت استفاده می کنید. که متفاوت عمل می کند:

کلید خصوصی: فقط در دستگاه محلی شما ذخیره می شود، این مانند یک امضای دیجیتال منحصر به فرد برای شماست. رمزگذاری شده است و اغلب با یک عبارت عبور ایمن می شود.
کلید عمومی: در سرور راه دور ذخیره می شود، این همان چیزی است که کلید خصوصی شما “قفل” را باز می کند تا ثابت کند که واقعاً شما هستید.

دستگاه محلی شما از کلید خصوصی برای اثبات هویت شما بدون ارسال کلید خصوصی از طریق شبکه استفاده می کند. در عوض، سرور چالشی را به دستگاه محلی شما ارسال می کند که فقط کلید خصوصی شما می تواند آن را حل کند. هر بار که سعی می کنیم به سرور راه دور متصل شویم، چالش به تازگی ایجاد می شود. پس از حل چالش، سرور سپس آن را با کلید عمومی شما در سرور راه دور تأیید می کند و اگر مطابقت داشت، اکنون احراز هویت می شوید. با این حال، فقط چالش از طریق شبکه ارسال می شود و همیشه در حال تغییر است تا حدس زدن زمانی که رهگیری شبکه وجود دارد دشوارتر شود.

راحتی

استفاده از SSH برای اتصال به سرور راه دور راحت‌تر از HTTPS است زیرا نیازی به وارد کردن رمز عبور در هر بار را از بین می‌برد. در عوض، می‌توانید از یک SSH-Agent استفاده کنید که به طور ایمن عبارت عبور شما را در حافظه ذخیره می‌کند و فرآیند احراز هویت را برای اتصالات بعدی انجام می‌دهد.

کلیدهای SSH را ایجاد کنید

چندین الگوریتم وجود دارد که می توان از آنها برای تولید کلیدهای SSH استفاده کرد. در این پست وبلاگ استفاده خواهیم کرد Ed25519 (الگوریتم امضای دیجیتال منحنی ادواردز) زیرا مدرن و سریعتر از الگوریتم های دیگر است. در ترمینال خود، اجرا کنید:

کلیدهای SSH موجود را بررسی کنید

قبل از ایجاد یک کلید SSH جدید، باید بررسی کنید که آیا از قبل یک کلید دارید، زیرا نمی‌خواهیم به طور تصادفی یک کلید موجود را بازنویسی کنیم.

### input
ls -al ~/.ssh

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جستجو کنید id_ed25519 و id_ed25519.pub زیرا این معمولاً نام فایل پیش‌فرض برای تولید کلیدهای SSH پیش‌فرض است

### output
total 40
drwx——@ 7 username staff 224 Nov 5 15:45 .
drwxr-x—+ 42 username staff 1344 Nov 5 19:18 ..
-rw-r–r–@ 1 username staff 185 Sep 11 19:00 config
-rw——-@ 1 username staff 464 Sep 11 18:24 id_ed25519
-rw-r–r–@ 1 username staff 104 Sep 11 18:24 id_ed25519.pub
-rw——-@ 1 username staff 1842 Oct 25 16:47 known_hosts
-rw——-@ 1 username staff 1106 Oct 25 16:43 known_hosts.old

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر ببینید id_ed25519 و id_ed25519.pub سپس شما از قبل کلیدهای SSH را تولید کرده اید، به این معنی که اگر نمی خواهید آن را بازنویسی کنید، باید یک مسیر متفاوت یا سفارشی برای نسل بعدی مشخص کنیم. اگر می‌خواهید از کلیدهای SSH موجود خود استفاده کنید، می‌توانید مرحله ایجاد را نادیده بگیرید و به اتصال به مخزن راه دور ادامه دهید.

یک کلید SSH جدید ایجاد کنید

# input
ssh-keygen -t ed25519 -C “your_email@example.com”

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

-t نوع الگوریتم است، -C (optional) نظر سفارشی است

# output
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Enter را فشار دهید تا مسیر پیش فرض را بپذیرید یا مسیر سفارشی را با نام فایل ارائه کنید.

# output
Enter passphrase (empty for no passphrase):

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Passhprase اختیاری است، اما i به شدت توصیه می شود برای محافظت از استفاده از کلید SSH خصوصی خود، یکی را وارد کنید.استفاده خواهیم کرد ssh-agent بعداً تا مجبور نباشیم هر بار که می‌خواهیم ارتباط برقرار کنیم عبارت عبور را وارد کنیم.

# output
# dummy data
Your identification has been saved in /Users/username/.ssh/id_ed25519
Your public key has been saved in /Users/username/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:nds92nn/dsNDsadbjndkansdjsknadkj your_email@example.com
The key’s randomart image is:
+–[ED25519 256]–+
| o.**|
| o**|
| ++**|
| . +=*|
| S. . +o*o|
| o..=.o.=|
| –o+o+o|
| .. o=*=|
| o+E=|
+—-[SHA256]—–+

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک کلید SSH جدید ایجاد شده را پیدا کنید

بررسی کنید که آیا کلید با اجرای موفقیت آمیز تولید شده است:

برای کلید عمومی:

# input
cat ~/.ssh/id_ed25519.pub

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

# output
# dummy data
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7Hnm0Dd9e2j bry@yourhost

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای کلید خصوصی:

# input
cat ~/.ssh/id_ed25519

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

# output
# dummy data
—–BEGIN OPENSSH PRIVATE KEY—–
b3BlbnNzaC1rZXktZDI1NTE5AAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7Hnm
0Dd9e2j+AAAAAAAAAAAAAAAAAAEAAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7
Hnm0Dd9e2j+AAAAAlkdiJHDU6FOSZDa7yxptjMNxzHxgtid7YKm2GFjdjXaAAAAAE
2jxKVmksl3Dbjoef1H5/tf1sgYnJe+JqfgvUhrBgkgmfhdAAAAAAEAAAXLS1mhdhd
bHJdkfHZ9GFFX3NNMgVdk+KfbkhTgyg==
—–END OPENSSH PRIVATE KEY—–

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر همه چیز به درستی انجام شود، باید کلید عمومی و خصوصی خود را مطابق شکل بالا در خروجی ببینید.

به یک مخزن از راه دور متصل شوید

کلید عمومی را به Remote Repository اضافه کنید

ما باید کلید عمومی شما را در سرور راه دور شما قرار دهیم، در این مورد پلتفرم مخزن راه دور انتخابی شما. بر اساس آنچه که استفاده می کنید یکی از این پیوندها را مشاهده کنید:

توجه: پیوند ارائه شده ممکن است در آینده نامعتبر شود زیرا من کنترلی بر تغییراتی که پلتفرم ممکن است ایجاد کند ندارم.

کلیک کنید کلید SSH جدید یا کلید SSH را اضافه کنید

نام کلید خود را بدهید

کلید عمومی خود را از دستگاه محلی خود کپی کنید:

# input
pbcopy < ~/.ssh/id_ed25519.pub

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

کلید عمومی خود را در کلید فیلد و ذخیره کنید.

کلید SSH خصوصی خود را به آن اضافه کنید ssh-agent

ابتدا باید خودمان را شروع کنیم ssh-agent در حال اجرا در پس زمینه

مک:

exec ssh-agent zsh

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

WSL با استفاده از bash:

exec ssh-agent bash

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ویندوز (این را تست نکردم):

CMD:

start-ssh-agent

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پاورشل:

Start-Service ssh-agent

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و سپس شروع کنید

ssh-add C:\path\to\your\key

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

راه اندازی فایل پیکربندی SSH

بررسی کنید که آیا شما موجود است ssh پیکربندی

cat ~/.ssh/config

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر فایل کانفیگ جدیدی ندارید ایجاد کنید.

touch ~/.ssh/config
open ~/.ssh/config

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل پیکربندی خود را بر اساس میزبان راه دوری که استفاده می کنید به روز کنید.

به عنوان مثال:

Host github.com -> for github
AddKeysToAgent yes
UseKeychain yes -> mac only
IdentityFile ~/.ssh/id_ed25519

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

UseKeychain عبارت عبور شما را در زنجیره کلید ذخیره می کند، که برای باز کردن قفل کلید خصوصی هنگام برقراری اتصال استفاده می شود.به این ترتیب، لازم نیست هر بار که یک جلسه جدید را شروع می کنید یا رایانه خود را مجددا راه اندازی می کنید، عبارت عبور را دوباره وارد کنید.

تست اتصال SSH

# input
# github
ssh -T git@github.com
# gitlab
ssh -T git@gitlab.com
# bitbucket
ssh -T git@bitbucket.org

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر همه چیز خوب پیش برود، باید خروجی زیر را ببینید:

# output
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون شما آماده ایجاد یک اتصال، شبیه سازی مخزن و اضافه کردن تغییرات به مخزن راه دور خود هستید!

پیوندها:

این یک پست متقاطع از وبلاگ من است: https://www.bryanprim.us/blogs/using-ssh-to-connect-local-git-to-remote-repositories

Github، Gitlab، Bitbucket و بسیاری دیگر، پلتفرم هایی برای میزبانی مخازن راه دور با استفاده از Git هستند.
دو روش رایج برای اتصال به یک مخزن راه دور از Git محلی، HTTPS و SSH هستند.

هر کدام مزایا و معایب خاص خود را دارند، اما در طول این پست وبلاگ ما بر روی SSH تمرکز خواهیم کرد زیرا این روش متداول ترین روش مورد استفاده است و در مقایسه با HTTPS مزایای زیادی را ارائه می دهد.

توجه: مطمئن شوید که git را روی دستگاه محلی خود نصب کرده اید. از آنجایی که این پست وبلاگ همچنین می تواند به عنوان یک راهنمای عملی برای هر زمان که می خواهید یک اتصال SSH جدید به یک مخزن راه دور راه اندازی کنید، یا می توانید مستقیماً به Generating Keys SSH بروید.

SSH و Git

SSH پروتکلی است که به شما امکان می دهد به طور ایمن ارتباط بین یک ماشین محلی و یک میزبان راه دور را انجام دهید. Git یک سیستم کنترل نسخه توزیع شده است که برای ردیابی تغییرات فایل ها و دایرکتوری ها در طول زمان طراحی شده است.

Git اساسا یک ابزار همکاری است که به شما اجازه می دهد تا روی چیزی هوشمندانه کار کنید و استفاده از SSH به شما کمک می کند تا تغییرات خود را به روشی امن با افراد دیگر در میان بگذارید.

مزایای استفاده از SSH بر روی HTTPS

امنیت

هنگام استفاده از HTTPS برای اتصال به یک مخزن راه دور، معمولاً از احراز هویت مبتنی بر رمز عبور استفاده می کنید. رمز عبور و داده‌ها رمزگذاری شده‌اند، بنابراین برای کسی در شبکه به راحتی قابل خواندن نیست. با این حال، HTTPS معمولاً به یک رمز عبور تکیه می‌کند که هر بار آن را تایپ می‌کنید، که اگر کسی موفق شود شبکه شما را در حین ورود رهگیری کند یا رمز عبور حدس بزند یا دزدیده شود، می‌تواند آسیب‌پذیر باشد.

در همین حال هنگام استفاده از SSH از یک جفت کلید خصوصی و عمومی برای احراز هویت استفاده می کنید. که متفاوت عمل می کند:

  • کلید خصوصی: فقط در دستگاه محلی شما ذخیره می شود، این مانند یک امضای دیجیتال منحصر به فرد برای شماست. رمزگذاری شده است و اغلب با یک عبارت عبور ایمن می شود.
  • کلید عمومی: در سرور راه دور ذخیره می شود، این همان چیزی است که کلید خصوصی شما “قفل” را باز می کند تا ثابت کند که واقعاً شما هستید.

دستگاه محلی شما از کلید خصوصی برای اثبات هویت شما بدون ارسال کلید خصوصی از طریق شبکه استفاده می کند. در عوض، سرور چالشی را به دستگاه محلی شما ارسال می کند که فقط کلید خصوصی شما می تواند آن را حل کند. هر بار که سعی می کنیم به سرور راه دور متصل شویم، چالش به تازگی ایجاد می شود. پس از حل چالش، سرور سپس آن را با کلید عمومی شما در سرور راه دور تأیید می کند و اگر مطابقت داشت، اکنون احراز هویت می شوید. با این حال، فقط چالش از طریق شبکه ارسال می شود و همیشه در حال تغییر است تا حدس زدن زمانی که رهگیری شبکه وجود دارد دشوارتر شود.

راحتی

استفاده از SSH برای اتصال به سرور راه دور راحت‌تر از HTTPS است زیرا نیازی به وارد کردن رمز عبور در هر بار را از بین می‌برد. در عوض، می‌توانید از یک SSH-Agent استفاده کنید که به طور ایمن عبارت عبور شما را در حافظه ذخیره می‌کند و فرآیند احراز هویت را برای اتصالات بعدی انجام می‌دهد.

کلیدهای SSH را ایجاد کنید

چندین الگوریتم وجود دارد که می توان از آنها برای تولید کلیدهای SSH استفاده کرد. در این پست وبلاگ استفاده خواهیم کرد Ed25519 (الگوریتم امضای دیجیتال منحنی ادواردز) زیرا مدرن و سریعتر از الگوریتم های دیگر است. در ترمینال خود، اجرا کنید:

کلیدهای SSH موجود را بررسی کنید

قبل از ایجاد یک کلید SSH جدید، باید بررسی کنید که آیا از قبل یک کلید دارید، زیرا نمی‌خواهیم به طور تصادفی یک کلید موجود را بازنویسی کنیم.

### input
ls -al ~/.ssh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جستجو کنید id_ed25519 و id_ed25519.pub زیرا این معمولاً نام فایل پیش‌فرض برای تولید کلیدهای SSH پیش‌فرض است

### output
total 40
drwx------@  7 username  staff   224 Nov  5 15:45 .
drwxr-x---+ 42 username  staff  1344 Nov  5 19:18 ..
-rw-r--r--@  1 username  staff   185 Sep 11 19:00 config
-rw-------@  1 username  staff   464 Sep 11 18:24 id_ed25519
-rw-r--r--@  1 username  staff   104 Sep 11 18:24 id_ed25519.pub
-rw-------@  1 username  staff  1842 Oct 25 16:47 known_hosts
-rw-------@  1 username  staff  1106 Oct 25 16:43 known_hosts.old
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر ببینید id_ed25519 و id_ed25519.pub سپس شما از قبل کلیدهای SSH را تولید کرده اید، به این معنی که اگر نمی خواهید آن را بازنویسی کنید، باید یک مسیر متفاوت یا سفارشی برای نسل بعدی مشخص کنیم. اگر می‌خواهید از کلیدهای SSH موجود خود استفاده کنید، می‌توانید مرحله ایجاد را نادیده بگیرید و به اتصال به مخزن راه دور ادامه دهید.

یک کلید SSH جدید ایجاد کنید

# input
ssh-keygen -t ed25519 -C "your_email@example.com"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

-t نوع الگوریتم است، -C (optional) نظر سفارشی است

# output
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Enter را فشار دهید تا مسیر پیش فرض را بپذیرید یا مسیر سفارشی را با نام فایل ارائه کنید.

# output
Enter passphrase (empty for no passphrase):
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Passhprase اختیاری است، اما i به شدت توصیه می شود برای محافظت از استفاده از کلید SSH خصوصی خود، یکی را وارد کنید.
استفاده خواهیم کرد ssh-agent بعداً تا مجبور نباشیم هر بار که می‌خواهیم ارتباط برقرار کنیم عبارت عبور را وارد کنیم.

# output
# dummy data
Your identification has been saved in /Users/username/.ssh/id_ed25519
Your public key has been saved in /Users/username/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:nds92nn/dsNDsadbjndkansdjsknadkj your_email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|             o.**|
|              o**|
|             ++**|
|          .   +=*|
|        S. . +o*o|
|         o..=.o.=|
|          --o+o+o|
|         ..  o=*=|
|             o+E=|
+----[SHA256]-----+
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک کلید SSH جدید ایجاد شده را پیدا کنید

بررسی کنید که آیا کلید با اجرای موفقیت آمیز تولید شده است:

برای کلید عمومی:

# input
cat ~/.ssh/id_ed25519.pub
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

# output
# dummy data
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7Hnm0Dd9e2j bry@yourhost
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای کلید خصوصی:

# input
cat ~/.ssh/id_ed25519
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

# output
# dummy data
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktZDI1NTE5AAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7Hnm
0Dd9e2j+AAAAAAAAAAAAAAAAAAEAAAAIB8Dkha0+XZ9sjd34fGFkeGZkHZck9TZx7
Hnm0Dd9e2j+AAAAAlkdiJHDU6FOSZDa7yxptjMNxzHxgtid7YKm2GFjdjXaAAAAAE
2jxKVmksl3Dbjoef1H5/tf1sgYnJe+JqfgvUhrBgkgmfhdAAAAAAEAAAXLS1mhdhd
bHJdkfHZ9GFFX3NNMgVdk+KfbkhTgyg==
-----END OPENSSH PRIVATE KEY-----
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر همه چیز به درستی انجام شود، باید کلید عمومی و خصوصی خود را مطابق شکل بالا در خروجی ببینید.

به یک مخزن از راه دور متصل شوید

کلید عمومی را به Remote Repository اضافه کنید

ما باید کلید عمومی شما را در سرور راه دور شما قرار دهیم، در این مورد پلتفرم مخزن راه دور انتخابی شما. بر اساس آنچه که استفاده می کنید یکی از این پیوندها را مشاهده کنید:

توجه: پیوند ارائه شده ممکن است در آینده نامعتبر شود زیرا من کنترلی بر تغییراتی که پلتفرم ممکن است ایجاد کند ندارم.

کلیک کنید کلید SSH جدید یا کلید SSH را اضافه کنید

نام کلید خود را بدهید

کلید عمومی خود را از دستگاه محلی خود کپی کنید:

# input
pbcopy < ~/.ssh/id_ed25519.pub
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر از مسیر سفارشی استفاده می کنید، مسیر را تنظیم کنید.

کلید عمومی خود را در کلید فیلد و ذخیره کنید.

کلید SSH خصوصی خود را به آن اضافه کنید ssh-agent

ابتدا باید خودمان را شروع کنیم ssh-agent در حال اجرا در پس زمینه

مک:

exec ssh-agent zsh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

WSL با استفاده از bash:

exec ssh-agent bash
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ویندوز (این را تست نکردم):

CMD:

start-ssh-agent
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پاورشل:

Start-Service ssh-agent
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و سپس شروع کنید

ssh-add C:\path\to\your\key
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

راه اندازی فایل پیکربندی SSH

بررسی کنید که آیا شما موجود است ssh پیکربندی

cat ~/.ssh/config
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر فایل کانفیگ جدیدی ندارید ایجاد کنید.

touch ~/.ssh/config
open ~/.ssh/config
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل پیکربندی خود را بر اساس میزبان راه دوری که استفاده می کنید به روز کنید.

به عنوان مثال:

Host github.com -> for github
  AddKeysToAgent yes
  UseKeychain yes -> mac only
  IdentityFile ~/.ssh/id_ed25519
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

UseKeychain عبارت عبور شما را در زنجیره کلید ذخیره می کند، که برای باز کردن قفل کلید خصوصی هنگام برقراری اتصال استفاده می شود.
به این ترتیب، لازم نیست هر بار که یک جلسه جدید را شروع می کنید یا رایانه خود را مجددا راه اندازی می کنید، عبارت عبور را دوباره وارد کنید.

تست اتصال SSH

# input
# github
ssh -T git@github.com
# gitlab
ssh -T git@gitlab.com
# bitbucket
ssh -T git@bitbucket.org
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر همه چیز خوب پیش برود، باید خروجی زیر را ببینید:

# output
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون شما آماده ایجاد یک اتصال، شبیه سازی مخزن و اضافه کردن تغییرات به مخزن راه دور خود هستید!

پیوندها:

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا