SSH: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
جز (نصب)
(نصب)
 
(۱۷ نسخه‌ٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
 
'''SSH''' (مخفف Secure Shell) یک [[پوسته | پوستهٔ]] امن برای دست‌یابی از راه دور به [[Server | کارساز]] مورد نظر به صورت رمزنگاری شده است.
 
'''SSH''' (مخفف Secure Shell) یک [[پوسته | پوستهٔ]] امن برای دست‌یابی از راه دور به [[Server | کارساز]] مورد نظر به صورت رمزنگاری شده است.
 +
 +
امروزه ssh راه‌حل استاندارد و امن اتصال به ماشین‌های راه‌دور است.
  
 
== نصب ==
 
== نصب ==
برای نصب بسته‌های مربوط به SSH از فرمان زیر استفاده شود.  
+
برای نصب بسته‌های مربوط به SSH از فرمان زیر استفاده کنید.
 +
 
 +
===نصب کارخواه ssh===
 +
 
 +
{{bc|
 +
$ sudo apt install openssh-client
 +
}}
 +
 
 +
===نصب کارساز ssh===
 +
 
 +
{{bc|
 +
$ sudo apt install openssh-server
 +
}}
 +
 
 +
برای تغییر درگاه یا سایر تنظیمات می‌توانید پروندهٔ پیکربندی خدمت SSH را در مسیر {{ic|/etc/ssh/sshd_config}} تغییر دهید.
 +
 
 +
== وصل شدن به کارساز ==
 +
 
 +
برای ارتباط با کارساز مورد نظر از فرمان پایهٔ زیر در [[شبیه‌ساز پایانه]] استفاده می‌شود.
 +
 
 +
{{bc|
 +
$ ssh USER@HOST/IP [-p PORT]
 +
}}
 +
 
 +
 
 +
== تنظیمات ==
 +
 
 +
برای استفاده بهتر از امکانات ssh می‌توان از تنظیمات زیر استفاده کرد.
  
<pre language="bash">
+
یک پرونده به نام {{ic| ~/.ssh/config}} با داده‌های بسازید.
$ sudo apt install openssh-server openssh-client
 
</pre>
 
'''نکته''': نصب هر دو بسته برای کارکرد کامل برنامه ضروری است.
 
  
== ایجاد سرور ==
+
{{bc|
برای ایجاد سرور SSH میشه از دستور زیر تو خط فرمان استفاده کرد:
+
Host remote_server
<pre>
+
    HostName 1.2.3.4
$ sudo service ssh start
+
    User user
</pre>
+
}}
با دستور بالا سرور SSH در سیستم ما ایجاد میشه و میشه با بقیه سیستم عامل ها(گنو/لینوکس ، ویندوز ، اندروید و...) به سرور وصل شد و کارهای مختلف رو در سیستم انجام داد.
 
برای قطع کردن سرویس (سرور) هم میشه از این دستور استفاده کرد:
 
<pre>
 
$ sudo service ssh stop
 
</pre>
 
همچنین برای فعال کردن و غیر فعال کردن سرویس SSH هنگام بوت هم میشه از کد های پایین استفاده کرد. مثلا میخواید خود به خود سرور SSH وقتی کامپیوترتون رو روشن میکنین فعال بشه یا میخوایین که غیر فعال بشه و خودتون هرموقع دوست دارین فعالش کنین (که این کار بهتره):
 
<pre>
 
$ sudo systemctl enable sshd.service
 
&&
 
$ sudo systemctl disable sshd.service
 
</pre>
 
  
برای تغییر پورت و کارای دیگه هم میشه فایل کانفینگ سرویس SSH رو تغییر داد .فایل کانفینگ در مسیر ''' /etc/ssh/sshd_config '''قرار داره. مثلا برای تغییر پورت پیشفرض باید خط ''' port 22 ''' رو پیدا کرد و عدد جلوی پورت رو تغییر داد.(مثلا ''' port 2022 ''') البته اگه اول جلوش علامت # بود ، باید اونو پاک کرد.
+
سپس برای اتصال به ماشین مورد نظر کافی است تنها نام آن را وارد کنید.
  
== وصل شدن به سرور ==
+
{{bc|
 +
$ ssh remote_server
 +
}}
  
برای ارتباط با کارساز مورد نظر از فرمان پایهٔ زیر در ترمینال استفاده می‌شود:
+
== کاربرد رمزنگاری جفت کلید ==
<pre language="bash">
 
$ ssh USER@HOST/IP PORT
 
</pre>
 
همچنین میشه از برنامه هایی مانند putty در ویندوز و Remmina در گنو/لینوکس استفاده کرد.
 
  
''' وصل شدن به سرور در شبکه محلی (local) یا خصوصی (Private)'''
+
می‌توان از مفهوم رمزنگاری با کلید عمومی و خصوصی برای اتصال به ماشین راه‌دور استفاده کرد. به این شکل که فرایند احراز هویت به جای نام‌کاربری و رمز عبور توسط تطبیق این دو کلید صورت می‌گیرد.
  
به طور مثال برای ارتباط کارخواه مورد نظر (کامپیوتر شخصی) به کارساز مورد نظر (تلفن همراه) در [[LAN|شبکه‌ٔ داخلی]] از فرمان زیر استفاده می‌شود:
+
نخست باید یک زوج کلید تولید شود.
<pre language="bash">
 
$ ssh android@192.168.1.32
 
</pre>
 
  
برای پیدا کردن ip محلی در لینوکس از ifconfig و در ویندوز از ipconfig استفادهه میشه.
+
{{bc|
 +
$ ssh-keygen
 +
}}
  
'''نکته''': در حالت معمول برای شبکهٔ داخلی، Port روی عدد ۲۲ تنظیم شده است. پس اگر در فرمان بالا شمارهٔ Port وارد نشود، SSH به صورت پیش‌گزیده از Port ۲۲ استفاده خواهد کرد. درغیر‌این‌صورت باید شمارهٔ Port مورد نظر را هم وارد کرد.
+
سپس کلید عمومی تولید شده را به ماشین راه دور منتقل(رونوشت) کرد.
 +
این کار با فرمان زیر انجام می‌گیرد.
  
''' وصل شدن به سرور در شبکه عمومی (Public) یا همون اینترنت '''
+
{{bc|
 +
$ ssh-copy-id remote_server
 +
}}
  
برای اینکار اول باید ip عمومی خودمون رو پیدا کنیم ; راحت ترین راه جستجو در گوگل هست . مثلا جستوجو my ip تو گوگل و دیدن ایپیمون از تو سایت های پیشنهادی. (مثلا [https://whatismyipaddress.com اینجا])
+
برای انجام رونوشت لازم است یکبار نام‌کاربری و رمزعبور وارد شود.
  
خوب بعد اون اگه اینترنت ما از وایفای یا سوییچ یا چیز دیگه ای باشه کارمون یکم دیگه ادامه پیدا میکنه . یعنی باید پورت سرور خودمون (مثلا ۲۲) رو از وای فای یا .. فوروارد کنیم تا اون پورت مستقیم کامپیوتر ما برسه و وای فای اونو بلاک نکنه . یا به جای دیگه ای نفرسته.(مثلا هنگام تلنت اگه ما ایپی عمومی رو بزنیم به جای کامپیوتر خودمون داریم به مودم وای فای تلنت میکنیم)
+
پس از اجرای این مراحل دیگر برای اتصال به ماشین راه‌دور نیازی به ورود نام‌کاربری و رمزعبور نیست.
برای پورت فرواردینگ میتونین تو اینترنت جستوجو کنین.
 
  
'''نکته''':بعضی وقتا ممکنهه فایروال پورت مورد نظر مارو بلاک کنه که در اون شرایط میشه با دستور زیر اون پورت رو باز کرد:
 
<pre>
 
$ sudo ufw allow 22
 
</pre>
 
 
== راهنما ==
 
== راهنما ==
برای مطالعهٔ جزئیات بیش‌تر و راهنمای این برنامه، می‌توان [[Man Page|صفحهٔ راهنما]] را مشاهده کرده یا از انتخاب <code>help--</code> در [[CLI|خط فرمان]] استفاده کرد:
+
برای مطالعهٔ جزئیات بیش‌تر و راهنمای این برنامه، می‌توان [[Man Page|صفحهٔ راهنما]] را مشاهده یا از انتخاب {{ic|--help}} استفاده کرد.
<pre>
+
{{bc|$ man ssh}}
$ man ssh
+
{{bc|$ ssh --help}}
$ ssh --help
+
 
</pre>
+
== کاربردها==
 +
 
 +
* اتصال به ماشین راه‌دور
 +
* انتقال پرونده‌ها و پوشه‌ها بین ماشین‌ها با [[scp]]
 +
* سوارکردن فایل سیستم ماشین راه‌دور روی ماشین محلی با [[sshfs]]
 +
 
 +
 
  
 
[[رده:نرم‌افزارهای شبکه]]
 
[[رده:نرم‌افزارهای شبکه]]
 
[[رده:پوسته‌ها]]
 
[[رده:پوسته‌ها]]
 
[[رده:کارسازها]]
 
[[رده:کارسازها]]
[[رده:خط فرمان]]
 

نسخهٔ کنونی تا ‏۹ اردیبهشت ۱۴۰۳، ساعت ۱۳:۱۴

SSH (مخفف Secure Shell) یک پوستهٔ امن برای دست‌یابی از راه دور به کارساز مورد نظر به صورت رمزنگاری شده است.

امروزه ssh راه‌حل استاندارد و امن اتصال به ماشین‌های راه‌دور است.

نصب

برای نصب بسته‌های مربوط به SSH از فرمان زیر استفاده کنید.

نصب کارخواه ssh

$ sudo apt install openssh-client

نصب کارساز ssh

$ sudo apt install openssh-server

برای تغییر درگاه یا سایر تنظیمات می‌توانید پروندهٔ پیکربندی خدمت SSH را در مسیر /etc/ssh/sshd_config تغییر دهید.

وصل شدن به کارساز

برای ارتباط با کارساز مورد نظر از فرمان پایهٔ زیر در شبیه‌ساز پایانه استفاده می‌شود.


$ ssh USER@HOST/IP [-p PORT]


تنظیمات

برای استفاده بهتر از امکانات ssh می‌توان از تنظیمات زیر استفاده کرد.

یک پرونده به نام ~/.ssh/config با داده‌های بسازید.


Host remote_server
    HostName 1.2.3.4
    User user

سپس برای اتصال به ماشین مورد نظر کافی است تنها نام آن را وارد کنید.


$ ssh remote_server

کاربرد رمزنگاری جفت کلید

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

نخست باید یک زوج کلید تولید شود.


$ ssh-keygen

سپس کلید عمومی تولید شده را به ماشین راه دور منتقل(رونوشت) کرد. این کار با فرمان زیر انجام می‌گیرد.


$ ssh-copy-id remote_server

برای انجام رونوشت لازم است یکبار نام‌کاربری و رمزعبور وارد شود.

پس از اجرای این مراحل دیگر برای اتصال به ماشین راه‌دور نیازی به ورود نام‌کاربری و رمزعبور نیست.

راهنما

برای مطالعهٔ جزئیات بیش‌تر و راهنمای این برنامه، می‌توان صفحهٔ راهنما را مشاهده یا از انتخاب --help استفاده کرد.

$ man ssh
$ ssh --help

کاربردها

  • اتصال به ماشین راه‌دور
  • انتقال پرونده‌ها و پوشه‌ها بین ماشین‌ها با scp
  • سوارکردن فایل سیستم ماشین راه‌دور روی ماشین محلی با sshfs