شما هنوز به سیستم وارد نشده اید.

#1 2018-03-17 15:17:04

حسین حیدری
عضو
از : اصفهان
ثبت شده: 2015-09-16
ارسال ها: 401

مشکل در استفاده از ssh-agent

درود

من برای اینکه امنیتم را تضمین کنم برای متصل شدن به سرورم با ssh، کلیدی ساختم و میتونم به راحتی به سرورم وصل بشم، من هربار برای اینکه به سرور وصل بشم باید یه گذرواژه ی طولانی را وارد کنم و طبق تحقیقاتی که کردم ابزاری به نام ssh-agent میتونه بهم کمک کنه تا به جای هر بار وارد کردن گذرواژه، بعد از اینکه یه بار گذرواژه ام را وارد کردم اون را در سامانه ی من ذخیره کنه و دفعات بعدی به راحتی بتونم به سرورم متصل بشم و درگیر تایپ کردن گذرواژه نشم.

خب اقداماتی که تا الان انجام دادم:

نصب بسته ی ssh-agent و قرار دادن خطوط زیر در Bashrc:

if ! pgrep -u "$USER" ssh-agent > /dev/null; then
    ssh-agent > ~/.ssh-agent-thing
    clear
fi
if [[ "$SSH_AGENT_PID" == "" ]]; then
    eval "$(<~/.ssh-agent-thing)"
    clear
fi

ساخت سرویس برای ssh-agent و فعال کردن اون:

sudo nano ~/.config/systemd/user/ssh-agent.service

محتویات این پرونده:

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

و همینطور:

echo "SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket"" >> .pam_environment

وضعیت سرویس:

[hossein@Archlinux ~]$ systemctl status ssh-agent.service 
● ssh-agent.service - SSH key agent
   Loaded: loaded (/etc/systemd/system/ssh-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2018-03-17 12:54:01 +03; 10min ago
 Main PID: 482 (ssh-agent)
    Tasks: 1 (limit: 4566)
   Memory: 2.9M
   CGroup: /system.slice/ssh-agent.service
           └─482 /usr/bin/ssh-agent -D -a /run/ssh-agent.socket

Mar 17 12:54:01 Archlinux systemd[1]: Started SSH key agent.
Mar 17 12:54:02 Archlinux ssh-agent[482]: SSH_AUTH_SOCK=/run/ssh-agent.socket; export SSH_AUTH_SOCK;
Mar 17 12:54:02 Archlinux ssh-agent[482]: echo Agent pid 482;

(نمیدونم اقداماتم در مورد راهاندازی اون خدمت درست بوده یا نه! شاید هم باید اون خطوط را از bashrc حذف کنم و یا اینکه اصلا محتویات اون پروندهی متنی ssh-agent.service درست نیست یا ...)

در ادامه من بعد از هر بار راه اندازی سامانه, ssh-agent را دارم:

root       482  0.0  0.0  13464  3256 ?        Ss   12:54   0:00 /usr/bin/ssh-agent -D -a /run/ssh-agent.socket
root       570  0.0  0.1  40696  5080 ?        Ss   12:54   0:00 /usr/bin/sshd -D
hossein    965  0.0  0.0  13464   388 ?        Ss   12:55   0:00 ssh-agent
hossein   1666  0.0  0.0  12436  2228 pts/0    S+   13:07   0:00 grep ssh

خب الان یه بار به سرورم وصل میشم:

[hossein@Archlinux ~]$ ssh user@myip
Enter passphrase for key '/home/hossein/.ssh/id_rsa': 
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-112-generic x86_64)

الان که به سرور وصلم  دستور زیر را میزنم تا گذرواژم ذخیره بشه و ssh-agent از این به بعد ازش استفاده کنه:

 ssh-add ~/.ssh/id_rsa

و خطای زیر را دریافت میکنم:

Error connecting to agent: No such file or directory

البته مشکل من این نیست, قبل از اینکه این پست را بنویسم خطای بالا را دریافت نمی کردم و مشکلم این بود که باید هر بار و پس از هر Reboot دستور ssh-add را میزدم تا بتونم بدون وارد کردن گذرواژهی کلید وصل بشم به سرورم و البته این تا زمانی بود که سیستم را خاموش نمیکردم, اگر سیستم را خاموش میکردم دوباره باید ssh-add میزدم تا در مدتی که سیستم روشنه بتونم بدون وارد کردن گذرواژه به سیستمم وصل بشم ولی الان حتی نمیتونم اون دستور را به درستی اجرا کنم.


دسترسی های من در .ssh:

[hossein@Archlinux .ssh]$ pwd
/home/hossein/.ssh
[hossein@Archlinux .ssh]$ ls -al
total 24
drwx------  2 hossein users 4096 Mar 17 12:49 .
drwx------ 43 hossein users 4096 Mar 17 13:18 ..
-rw-------  1 hossein users  751 Mar 15 18:01 authorized_keys
-rw-------  1 hossein users    0 Mar 17 12:49 id_ed25519
-rw-------  1 hossein users 3326 Mar  1 16:52 id_rsa
-rw-r--r--  1 hossein users  751 Mar  1 16:52 id_rsa.pub
-rw-r--r--  1 hossein users  353 Mar  5 17:51 known_hosts

از شما چه انتظاری دارم:

لطفا برام به صورت کامل توضیح بدید که کارهایی که کردم درست بوده یا نه, چه تغییرات باید ایجاد کنم اگر قسمتی از اونها مشکل داره؟
لطفا کمکم کنید از دستور ssh-add استفاده کنم و سپس بعد از حل این مشکل بتونم پس از هربار روشن کردن سیستم بدون نیاز به وارد کردن دستور ssh-add و بدون وارد کردن گذرواژهی کلیدم ازش استفاده کنم.


پ.ن: من معمولا وقتی سوالی را میپرسم قبلش تمام منابع را گشتم و مطالعه کردم اما صادقانه بخوام صحبت کنم این بار فقط صفحهی man دستور ssh-add را با ویکی آرچ صفحهی ssh keys خوندم و یکم تنبلی کردم ولی با این حال با وجود اینکه کمبود وقت دارم, از عزیزان خواهش میکنم اگر تجربه ای دارند باهام به اشتراک بذارن.

آخرین ویرایش توسط حسین حیدری (2018-03-17 15:19:34)


Just an anime fan

آفلاین

#2 2018-03-18 07:21:52

حسین حیدری
عضو
از : اصفهان
ثبت شده: 2015-09-16
ارسال ها: 401

پاسخ: مشکل در استفاده از ssh-agent

با مهاجرت به seahorse مشکلم حل شد!

sudo pacman -S seahorse

Just an anime fan

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB