Linux-ի հրամաններ՝ օգտագործելով Secure Shell (ssh)
Ներածություն
Կան բազմաթիվ եղանակներ, որոնցով մենք կարող ենք մուտք գործել կամ հաղորդակցվել երկու համակարգերի միջև [Linux-ից Linux, Windows-ից Linux] CLI-ի միջոցով: Secure Shell-ը (ssh) շատ օգտակար գործիք է ցանկացած այլ Linux համակարգ մուտք գործելու համար: Եթե երկու Linux համակարգեր միացված են ցանկացած ցանցի միջոցով, ապա մենք կարող ենք օգտագործել ssh այլ համակարգ մուտք գործելու համար: Կան մի քանի հիմնական նախադրյալներ այս հնարավորությունից օգտվելու համար
ssh հաճախորդի ծրագրակազմ Օրինակ՝ լռելյայն ssh երկուական Linux-ում, ծեփոն, mobaxterm և այլն:
ssh սերվեր, որն աշխատում է հեռավոր Linux համակարգում:
Հեռավոր համակարգի IP կամ հյուրընկալողի անունը:
Եկեք քննարկենք Linux համակարգից Linux համակարգի հաղորդակցությունը ssh-ի միջոցով:
Կարգավորեք ssh Set Up-ը
Նախադրյալներից՝
Մենք պետք է տեղադրենք ծեփամածիկ կամ mobaxterm, եթե կլիենտ համակարգը windows է։ Linux հաճախորդ համակարգի համար տեղադրելու բան չկա, քանի որ լռելյայնորեն հասանելի է ssh հրամանը:
Մենք կարող ենք գործարկել ստորև հրամանը՝ ստուգելու, թե արդյոք ssh-ն արդեն տեղադրված է, թե ոչ:
$ ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] [user@]hostname [command]
Այնուհետև Linux սերվերի կողմից մենք պետք է տեղադրենք «openssh-server» փաթեթը: Տեղադրելու համար մենք կարող ենք օգտագործել ստորև նշված հրամանը.
$ sudo apt-get install openssh-server
Ենթադրենք,
A համակարգը հաճախորդ է, իսկ B համակարգը սերվեր է:
Համակարգի B ip-ն «192.168.1.102» է, իսկ օգտվողի անունը՝ «rian»: Մենք մուտք կունենանք B համակարգ A համակարգից:
Հրահանգ մուտք գործել հեռավոր Linux համակարգ
Ահա B համակարգ մուտք գործելու նվազագույն հրամանը:
$ ssh <user name of system B>@<IP address or hostname of system B: 192.168.1.102>
Փաստացի հրամանն է
$ ssh rian@192.168.1.102
«rian »-ի համար գաղտնաբառ կառաջարկվի: Այն բանից հետո, երբ մենք տալիս ենք ճիշտ գաղտնաբառը, ssh-ը հաջողությամբ անցնում է ip 192.168.1.102 կամ B համակարգին:
Արդյունք
The authenticity of host '192.168.1.102 (192.168.1.102)' can't be established.
ECDSA key fingerprint is SHA256:YdQpl9u/N2+Dc6hPeDr8e5IdDXUJ3POj30prm1XJA2s.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.102' (ECDSA) to the list of known hosts.
rian@192.168.1.102's password:
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.15.0-45-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
447 packages can be updated.
385 updates are security updates.
New release '18.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
Last login: Thu Feb 11 22:20:03 2016 from 192.168.1.4
Կատարեք հրամանը հեռավոր համակարգում՝ օգտագործելով ssh
Եթե մենք ցանկանում ենք որևէ հեռակառավարման հրաման գործարկել առանց հեռավոր համակարգ մուտք գործելու, ապա կարող ենք օգտագործել ստորև նշված շարահյուսությունը:
$ ssh <user name of system B>@<IP address of system B: 192.168.1.102> <command full path>
Ահա իրական հրամանը [օրինակ՝ ls]
$ ssh rian@192.168.1.102 /bin/ls
Արդյունք
rian@192.168.1.102's password:
Desktop
Documents
Downloads
examples.desktop
Music
Pictures
Public
Templates
tutorialpoint
Videos
Մուտք գործեք GUI-ի վրա հիմնված հավելված հեռավոր համակարգում
Այն դեպքում, երբ մենք պետք է բացենք GUI-ի վրա հիմնված որևէ ծրագիր, ինչպիսին է firefox-ը հեռավոր համակարգից, ապա մենք պետք է ssh-ով գործարկենք –X տարբերակը:
$ ssh –X rian@192.168.1.102
Այժմ մենք կարող ենք բացել «firefox» բրաուզերը հեռավոր համակարգից ssh տերմինալում: Եթե մենք անում ենք ssh առանց –X, ապա մենք չենք կարող բացել gui-ի վրա հիմնված հավելված:
$ firefox
Պատճենել ssh կապի միջոցով
Եթե մենք ցանկանում ենք պատճենել ցանկացած ֆայլ A համակարգից B համակարգ ssh-ի միջոցով՝ օգտագործելով «scp» հրամանը, կարող ենք օգտագործել ստորև բերված շարահյուսությունը:
$ scp system_a_file <user name of system B>@<system B ip address:system b path>
Ահա իրական հրամանը.
$ scp examples.desktop rian@192.168.1.102:/tmp/
Արդյունք
rian@192.168.1.102's password:
examples.desktop 100% 8980 4.4KB/s 00:02
Port Forwarding Օգտագործելով ssh
Նավահանգիստ մուտք գործելու համար կարող է օգտագործվել ստորև նշված հրամանը: Սա շատ օգտակար հատկություններ է
$ ssh -L 8888:localhost:8080 <user name of system B>@<ip or hostname of user B>
ssh Custom Port-ով
Լռելյայնորեն ssh-ը լսում է պորտի համարը 22: Բայց մենք կարող ենք օգտագործել հատուկ ssh պորտը՝ օգտագործելով ստորև նշված հրամանը:
$ ssh <user@remote ip> -p 3423
Վերագործարկեք ssh ծառայությունը
Ահա sshd ծառայությունը վերագործարկելու հրամանը, եթե ինչ-որ բան փոխվել է ssh կազմաձևման ֆայլում կամ որևէ այլ պատճառով:
$ sudo sshd service restart
ssh Ընդհանուր սխալ
Երբեմն մենք ստանում ենք ստորև սխալ, երբ ssh-ը հեռակա համակարգին ենք անում:
ssh: connect to host 192.168.1.107 port 22: No route to host
Հնարավոր պատճառներն այն են, որ հեռավոր IP-ն անհասանելի է: Մենք պետք է ping կատարենք հեռավոր IP-ին և հետո փորձենք ssh:
Եզրակացություն
Այս հոդվածից մենք իմացանք ssh հրամանի բազմաթիվ կիրառումներ: Օգտագործելով ssh մենք կարող ենք ավելի արագ մուտք գործել Linux-ի մեկ այլ համակարգ, ինչպես նաև կատարել որոշ գործողություններ, ինչպիսիք են պատճենումը, հրամանի կատարումը և այլն: