# دسترسی به دستگاه: ترمینال بدون دادن رمز

> به یک مهندس برای مدتی محدود ترمینالی روی روتر یا سوئیچ بدهید، از طریق جمع‌آوری‌کنندهٔ سایت. هیچ‌وقت رمز دستگاه را نمی‌بیند، هر نشست تأیید می‌شود، خودش تمام می‌شود و کلید به کلید ضبط می‌شود، و مدیر هر لحظه می‌تواند پایانش دهد.

Source: https://zaryn.xyz/docs/fa/network-access

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

با **دسترسی به دستگاه**، مهندس برای مدتی محدود و با دلیلی مشخص، ترمینالی روی دستگاهی از یک [سایت](/docs/fa/network-sites) درخواست می‌کند:

- **هیچ‌وقت رمز را نمی‌بیند.** جمع‌آوری‌کنندهٔ سایت با اطلاعات ورودی که نگه می‌دارد وارد می‌شود، حالت privileged سیسکو هم. رمز هیچ‌وقت از جمع‌آوری‌کننده بیرون نمی‌رود، حتی به Zaryn.
- **هر نشست تأیید می‌شود**، توسط مدیر سایت. با تأیید دونفره، توسط مدیری جز خود مهندس.
- **خودش تمام می‌شود** وقتی زمانش سر برسد، و مدیر هر لحظه می‌تواند **لغوش** کند.
- **همه‌چیز ضبط می‌شود:** هر کلیدی که زده شد و هرچه دستگاه چاپ کرد، با زمانش. زبانهٔ **دسترسی** سایت هر نشستی را دوباره پخش می‌کند و فرمان‌های تایپ‌شده را فهرست می‌کند.

هیچ پورت ورودی‌ای لازم نیست: جمع‌آوری‌کننده فقط اتصال خروجی می‌سازد و مهندس از طریق Zaryn به دستگاه می‌رسد.

```diagram
type: sequence
title: ترمینالی روی دستگاه، بدون رمز آن
lanes: مهندس | Zaryn | مدیر سایت | جمع‌آوری‌کننده | دستگاه
alt: مهندس سی دقیقه روی یک دستگاه درخواست می‌کند؛ مدیر سایت تأیید می‌کند؛ جمع‌آوری‌کننده با اعتبارنامه‌ای که نگه می‌دارد وارد می‌شود و ترمینال را از راه Zaryn می‌رساند و هر کلید را ضبط می‌کند؛ نشست با تمام شدن زمان یا لغو مدیر پایان می‌یابد
---
مهندس -> Zaryn : zev site ssh acme/hq core-sw --minutes 30 --reason …
Zaryn -> مدیر سایت : تأیید؟ (با چهار چشم: کسی دیگر)
مدیر سایت --> Zaryn : تأیید شد: زمان شروع می‌شود
Zaryn -> جمع‌آوری‌کننده : یک نشست به core-sw باز کن
جمع‌آوری‌کننده -> دستگاه : با رمزی که نگه می‌دارد وارد می‌شود
note جمع‌آوری‌کننده : رمز هرگز از جمع‌آوری‌کننده بیرون نمی‌رود، حتی به Zaryn | good
مهندس <-> دستگاه : ترمینال، از راه Zaryn و جمع‌آوری‌کننده
note Zaryn : هر کلید زده‌شده و هر چه چاپ شد، با زمانش ضبط می‌شود
== پایان ==
Zaryn -> جمع‌آوری‌کننده : زمان تمام شد، یا مدیر لغو کرد
جمع‌آوری‌کننده -> دستگاه : خارج می‌شود
```

## اجازه روی جمع‌آوری‌کننده

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

```bash
sudo zev site access on
```

هیچ دستوری از Zaryn نمی‌تواند این را روشن کند. `zev site access off` متوقفش می‌کند و نشست‌های باز تمام می‌شوند. این جدا از اجازهٔ [اعمال تغییر](/docs/fa/network-rollouts) است.

## درخواست دسترسی و اتصال

از ترمینال خودتان:

```bash
zev site ssh acme/hq core-sw --minutes 30 --reason "ticket 4521: uplink errors"
```

```text
asked for 30 minutes on core-sw: waiting for a site admin to approve (Zaryn → Sites → acme/hq → Access)…
approved: the collector is logging in to core-sw…
✓ connected to core-sw through the collector (recorded; Ctrl-] leaves)
core-sw#
```

تا وقتی زمانتان تمام نشده ترمینال مال شماست: همان‌طور تایپ کنید که با SSH می‌کنید. **Ctrl-]** بیرون می‌آید. اجرای دوبارهٔ `zev site ssh` برای همان دستگاه، تأییدی را که هنوز استفاده نکرده‌اید دوباره به کار می‌برد.

در زبانهٔ **دسترسی** سایت هم می‌توانید درخواست دهید: دستگاه، دقیقه‌ها و دلیل را انتخاب کنید، بعد با `zev site ssh` وصل شوید.

## تأیید، رد، لغو

```diagram
type: flow
title: زندگی یک درخواست
or: یا
---
درخواست | مهندسی برای چند دقیقه روی یک دستگاه، با دلیل، درخواست می‌دهد | | ✋
~ مدیر سایت تصمیم می‌گیرد
تأیید | ساعت از همین حالا شروع می‌شود؛ با چهار چشم، کس دیگری تأیید می‌کند | good | ✓
? رد | نشستی نیست | bad | ✗
~ zev site ssh
زنده | هر کلید زده‌شده و هر خط چاپ‌شده ضبط می‌شود | accent | ⏺
~ پایان زمان، یا لغو
پایان | بعداً در زبانهٔ Access بازپخشش کنید | | ⏹
```

درخواست‌های منتظر تأیید برای مدیران سایت بالای زبانهٔ **دسترسی** هستند. **تأیید** ساعت را راه می‌اندازد: زمان داده‌شده از لحظهٔ تأیید شمرده می‌شود. **رد** یعنی نه.

- مدیر سایتی که برای خودش درخواست می‌دهد فوراً دسترسی می‌گیرد، مگر اینکه سایت تأیید دونفره بخواهد.
- **تأیید دونفره** (در **جمع‌آوری‌کننده و تنظیمات**، زیر **اعمال تغییر و دسترسی**) برای اعمال تغییر و دسترسی هر دو است: کسی جز مهندس تأیید می‌کند.
- **لغو** نشست را فوراً تمام می‌کند، حتی وسط یک فرمان.

**تغییرهای** سایت هر درخواست، تأیید، شروع و پایانی را با نام‌ها نشان می‌دهد.

## ضبط‌ها

نشستی را در زبانهٔ **دسترسی** باز کنید:

- وقتی **زنده** است، ترمینال را همان‌طور که مهندس کار می‌کند تماشا می‌کنید.
- بعد از آن، **پخش دوباره** آن را با سرعت ۱ تا ۱۶ برابر پخش می‌کند و نوار لغزنده در آن جابه‌جا می‌شود.
- **تایپ‌شده** هر خطی را که مهندس تایپ کرد با زمانش فهرست می‌کند. روی هر کدام کلیک کنید تا به همان‌جا بروید.

ضبط‌ها ۳۰ روز نگه داشته می‌شوند، با Premium یک سال.

## نشست چطور تمام می‌شود

```diagram
type: cards
---
⏱ | پایان زمان | دقیقه‌های داده‌شده تمام شده |
🛑 | لغو | مدیری آن را تمام می‌کند، حتی وسط یک فرمان | bad
🚪 | مهندس بیرون می‌رود | Ctrl-]، یا یک دقیقه بی‌اتصال |
📴 | دستگاه یا جمع‌آوری‌کننده می‌رود | نشست را می‌بندد، یا یک دقیقه پاسخ نمی‌دهد | warn
```

- زمان داده‌شده تمام می‌شود.
- مدیری لغوش می‌کند.
- مهندس بیرون می‌آید (Ctrl-]) یا یک دقیقه اتصالش قطع می‌شود.
- دستگاه نشست را می‌بندد، یا جمع‌آوری‌کننده یک دقیقه پاسخ نمی‌دهد.

## خوب است بدانید

- نشست‌ها روی هر دستگاهی که جمع‌آوری‌کننده بتواند واردش شود کار می‌کنند: Cisco IOS و IOS-XE، Huawei VRP، MikroTik RouterOS، FRRouting، VyOS و لینوکس.
- هر نشست حداکثر ۸ ساعت (۴۸۰ دقیقه) است. برای بیشتر، دوباره درخواست دهید.
- ترمینال در درخواست‌های کوتاه روی یک اتصال باز از طریق Zaryn می‌رود، پس حسی مثل SSH روی لینکی کندتر دارد. تایپ مشکلی ندارد؛ چسباندن یک کانفیگ طولانی هم کار می‌کند.
- آنچه مهندس تایپ می‌کند و آنچه دستگاه چاپ می‌کند همان‌طور که هست در ضبط می‌ماند. اگر کسی رمزی را در دستگاه تایپ کند، در ضبط هست.
