Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Cara menggunakan SSH untuk pelaksanaan skrip jauh dalam Linux SysOps
Kaedah menggunakan SSH untuk pelaksanaan skrip jauh dalam Linux SysOps memerlukan contoh kod khusus
Ikhtisar:
Dalam operasi sistem Linux, log masuk jauh dan pelaksanaan perintah boleh dicapai menggunakan SSH (Secure Shell). Pelaksanaan skrip jauh ialah teknologi yang sering digunakan dalam kerja SysOps Linux. Ia boleh membantu kami mengurus, mengkonfigurasi dan memantau berbilang pelayan Linux dari jauh. Artikel ini akan memperkenalkan cara menggunakan SSH untuk pelaksanaan skrip jauh dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan dengan lebih baik.
Langkah 1: Pasang Klien dan Pelayan SSH
Sebelum kita bermula, kita perlu memastikan bahawa SSH dipasang pada kedua-dua klien dan pelayan. Biasanya, kebanyakan pengedaran Linux akan memasang pelayan SSH secara lalai, tetapi jika ia tidak dipasang, kita boleh menggunakan arahan berikut untuk memasangnya:
sudo apt-get install openssh-server # Debian/Ubuntu系统 sudo yum install openssh-server # CentOS/RHEL系统
Pelanggan SSH biasanya juga dipasang dengan sistem Linux , kita boleh menggunakan arahan berikut untuk memasang:
sudo apt-get install openssh-client # Debian/Ubuntu系统 sudo yum install openssh-clients # CentOS/RHEL系统
Langkah 2: Jana pasangan kunci SSH
Untuk memastikan keselamatan sambungan SSH, kami biasanya menggunakan pengesahan kunci dan bukannya pengesahan kata laluan. Kita boleh menggunakan pasangan kunci SSH untuk pelaksanaan skrip jauh. Pertama, kita perlu menjana kunci awam dan peribadi secara tempatan. Anda boleh menggunakan arahan berikut untuk menjana pasangan kunci SSH:
ssh-keygen -t rsa
Arahan ini akan menjana kunci awam id_rsa.pub
dan kunci peribadi dalam <code>.ssh
pengguna > direktori >id_rsa. .ssh
目录下生成公钥id_rsa.pub
和私钥id_rsa
。
步骤3:建立SSH信任关系
在远程执行脚本之前,我们需要在本地和远程主机之间建立SSH信任关系,以使远程主机信任我们的公钥。我们可以使用ssh-copy-id
命令将公钥复制到远程主机上:
ssh-copy-id username@remote_host
其中,username
是远程主机上的用户名,remote_host
是远程主机的IP地址或主机名。执行命令后,系统会要求输入远程主机的密码,然后将公钥复制到远程主机的~/.ssh/authorized_keys
文件中。
步骤4:远程脚本执行
一旦建立了SSH信任关系,我们就可以使用SSH进行远程脚本执行了。以下是一个示例脚本,它将远程执行远程主机上的命令,并将输出打印到本地终端:
#!/bin/bash remote_host="remote_host" remote_user="remote_user" command="command_to_execute" output=$(ssh $remote_user@$remote_host $command) echo "$output"
在脚本中,将remote_host
替换为远程主机的IP地址或主机名,将remote_user
替换为远程主机上的用户名,将command_to_execute
替换为要在远程主机上执行的命令。通过ssh
命令,我们可以在本地执行远程主机上的命令,并将输出保存到output
Sebelum melaksanakan skrip dari jauh, kami perlu mewujudkan kepercayaan SSH antara hos tempatan dan jauh supaya hos jauh mempercayai kunci awam kami. Kita boleh menggunakan perintah ssh-copy-id
untuk menyalin kunci awam ke hos jauh:
di mana, nama pengguna
ialah nama pengguna pada hos jauh, ~/.ssh/authorized_keys
hos jauh.
remote_host
dengan alamat IP atau nama hos hos jauh , gantikan remote_user
dengan nama pengguna pada hos jauh dan command_to_execute
dengan arahan yang akan dilaksanakan pada hos jauh. Melalui perintah ssh
, kita boleh melaksanakan arahan pada hos jauh secara setempat dan menyimpan output ke pembolehubah output
. Akhirnya, kami mencetak output ke terminal tempatan. 🎜🎜Kami boleh mengubah suai dan mengembangkannya mengikut keperluan sebenar, seperti melaksanakan berbilang arahan melalui struktur gelung, menggunakan skrip ke berbilang hos jauh, dsb. 🎜🎜Ringkasan: 🎜Dengan menggunakan SSH untuk pelaksanaan skrip jauh, Linux SysOps boleh mengurus dan menyelenggara berbilang pelayan Linux dengan lebih cekap. Artikel ini menerangkan langkah-langkah untuk pelaksanaan skrip jauh menggunakan SSH dan menyediakan contoh kod khusus. Pembaca boleh mengubah suai dan mengembangkannya mengikut keperluan sebenar untuk menyesuaikan diri dengan senario dan tugasan yang berbeza. Saya harap artikel ini akan memberikan panduan berguna kepada pembaca dan membantu meningkatkan kemahiran SysOps Linux mereka. 🎜Atas ialah kandungan terperinci Cara menggunakan SSH untuk pelaksanaan skrip jauh dalam Linux SysOps. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!