GH-CODESPACE-SSH(1) GitHub CLI manual GH-CODESPACE-SSH(1)

gh-codespace-ssh - اتصال SSH به کداستیس

gh codespace ssh [<flags>...] [-- <ssh-flags>...] [<command>]

دستور ssh برای برقراری اتصال SSH به یک کداستیس به کار می‌رود. در ساده‌ترین حالت، می‌توانید دستور gh cs ssh را اجرا کرده، کداستیس مورد نظر را به صورت تعاملی انتخاب کنید و متصل شوید.

اگر یک جفت‌کلید معتبر موجود نداشته باشید، دستور ssh به‌طور خودکار یک جفت‌کلید عمومی/خصوصی ssh در دایرکتوری ~/.ssh ایجاد خواهد کرد. هنگام انتخاب جفت‌کلید مورد استفاده، ترتیب اولویت بدین شرح است:

1.
کلید مشخص‌شده با -i در <ssh-flags>
2.
کلید خودکار، در صورتی که از قبل وجود داشته باشد
3.
اولین جفت‌کلید معتبر در پیکربندی ssh (بر اساس ssh -G)
4.
کلید خودکار تازه ایجادشده

دستور ssh همچنین با استفاده از گزینه --config که پیکربندی ssh را برای هر کداستیس در قالب OpenSSH تولید می‌کند، از یکپارچه‌سازی عمیق‌تر با OpenSSH پشتیبانی می‌کند. گنجاندن این پیکربندی در ~/.ssh/config تجربه کاربری ابزارهایی را که با OpenSSH یکپارچه هستند بهبود می‌بخشد، مانند تکمیل خودکار نام‌های میزبان ssh در Bash/Zsh، تکمیل خودکار مسیرهای راه دور برای scp/rsync/sshfs، ریموت‌های ssh در git و غیره.

پس از راه‌اندازی آن (به مثال دوم در زیر مراجعه کنید)، می‌توانید مانند میزبان‌های راه دور معمولی به کداستیس‌ها متصل شوید (با استفاده از ssh، نه gh cs ssh).

توجه داشته باشید که کداستیسی که به آن متصل می‌شوید باید از قبل یک سرور SSH نصب‌شده داشته باشد. اگر ایمیج داکر مورد استفاده برای کداستیس سرور SSH ندارد، آن را در Dockerfile خود نصب کنید یا برای کداستیس‌هایی که از ایمیج‌های مبتنی بر دبیان استفاده می‌کنند، می‌توانید موارد زیر را به devcontainer.json خود اضافه کنید:

"features": {
	"ghcr.io/devcontainers/features/sshd:1": {
		"version": "latest"
	}
}

نام کداستیس
نوشتن پیکربندی OpenSSH در خروجی استاندارد (stdout)
ثبت داده‌های اشکال‌زدایی در یک فایل
مسیر فایلی که لاگ در آن ذخیره می‌شود
نام پروفایل SSH مورد استفاده
فیلتر کردن انتخاب کداستیس بر اساس نام مخزن (user/repo)
فیلتر کردن انتخاب کداستیس بر اساس مالک مخزن (نام کاربری یا سازمان)
شماره پورت سرور SSH (مقدار 0 => انتخاب پورت استفاده‌نشده)

0: اجرای موفقیت‌آمیز

1: خطا

2: دستور لغو شد

4: نیاز به احراز هویت است

نکته: دستورات خاص ممکن است کدهای خروج بیشتری داشته باشند. برای اطلاعات بیشتر به راهنمای همان دستور مراجعه کنید.

$ gh codespace ssh
$ gh codespace ssh --config > ~/.ssh/codespaces
$ printf 'Match all\nInclude ~/.ssh/codespaces\n' >> ~/.ssh/config

gh-codespace(1)

Sep 2026