Daftarkan kunci publik sementara berdurasi 60 detik menggunakan ali-instance-cli dan hubungkan ke Instance ECS dengan kunci privat alih-alih password.
Kunci publik sementara
Kunci publik sementara memungkinkan Anda menghubungkan ke instans melalui SSH tanpa mengonfigurasi pasangan kunci pada instans tersebut. Setiap kali terhubung, daftarkan kunci publik sementara yang berlaku selama 60 detik, lalu gunakan kunci privat yang sesuai alih-alih password.
Kunci publik sementara disimpan di server Cloud Assistant.
Prasyarat
Aktifkan layanan Session Manager
Periksa apakah instans berada dalam status Running
Periksa apakah Cloud Assistant Agent telah terinstal
Siapkan kredensial Pengguna RAM untuk Session Manager
1. Instal dan konfigurasikan Session Manager CLI
Lewati langkah ini jika Anda telah menginstal dan mengonfigurasi Session Manager CLI.
1.1 Instal
Instal Session Manager CLI (ali-instance-cli) di komputer Anda. Metode instalasi berbeda-beda tergantung sistem operasinya.
Windows
Klik untuk mengunduh ali-instance-cli untuk Windows dan simpan ke folder lokal.
Topik ini menggunakan folder C:\Users\test sebagai contoh.
macOS
Di terminal macOS, unduh ali-instance-cli untuk macOS:
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli
Berikan izin eksekusi:
chmod a+x ali-instance-cli
Linux
Instal ali-instance-cli untuk Linux:
arsitektur x86
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
arsitektur arm
curl -O https://aliyun-client-assist.oss-cn-beijing.aliyuncs.com/session-manager/linux_arm/ali-instance-cli
Berikan izin eksekusi:
chmod a+x ali-instance-cli
1.2 Konfigurasi
Untuk menghubungkan ke Instance ECS dengan ali-instance-cli, konfigurasikan kredensial identitas seperti AccessKey. Lihat Prepare the credentials of a RAM user for Session Manager.
Windows
-
Klik , masukkan cmd, lalu tekan tombol
Enteruntuk membuka jendela command prompt. -
Buka direktori ali-instance-cli.exe. Contoh ini menggunakan
C:\Users\test.cd C:\Users\test -
Konfigurasikan kredensial menggunakan salah satu metode berikut:
AccessKey
Konfigurasikan ID AccessKey, Rahasia AccessKey, dan ID Wilayah sesuai permintaan:
ali-instance-cli.exe configure --mode AKSTS Token
Lengkapi konfigurasi:
ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"Ganti
<region>,<ak>,<sk>, dan<sts_token>dengan ID wilayah, ID AccessKey, Rahasia AccessKey, danSTS tokenaktual Anda.CredentialsURI
Masukkan Credentials URI dan ID Wilayah sesuai permintaan:
ali-instance-cli.exe configure --mode=CredentialsURIOutput berikut menunjukkan konfigurasi berhasil.

macOS/Linux
-
Buka direktori ali-instance-cli. Contoh ini menggunakan direktori home
~.cd ~ -
Konfigurasikan kredensial:
AccessKey
Konfigurasikan ID AccessKey, Rahasia AccessKey, dan ID Wilayah sesuai permintaan:
./ali-instance-cli configure --mode AKSTS Token
Lengkapi konfigurasi:
./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"Ganti
<region>,<ak>,<sk>, dan<sts_token>dengan ID wilayah, ID AccessKey, Rahasia AccessKey, danSTS tokenaktual Anda.CredentialsURI
Konfigurasikan Credentials URI dan ID Wilayah sesuai permintaan:
./ali-instance-cli configure --mode=CredentialsURIOutput berikut menunjukkan konfigurasi berhasil.

2. Daftarkan kunci publik sementara ke instans
2.1 Dapatkan ID instans
Dapatkan ID instans target.
2.2 Hasilkan pasangan kunci
Hasilkan pasangan kunci di komputer Anda. File kunci publik akan digunakan sebagai kunci publik sementara pada Langkah 2.3.
Komputer Windows
Buka Command Prompt dan jalankan perintah berikut untuk menghasilkan pasangan kunci.
Pada contoh ini, klien OpenSSH digunakan untuk menghasilkan pasangan kunci di direktori C:\Users\test.
ssh-keygen -t rsa -b 2048 -f id_rsa
-
-t rsa: jenis kunciRivest-Shamir-Adleman (RSA). -
-b 2048: panjang kunci 2.048 bit. -
-f id_rsa: menghasilkan file kunci bernama id_rsa ke direktori kerja.
Anda akan diminta memasukkan passphrase. Jika ditetapkan, passphrase tersebut diperlukan setiap kali kunci privat digunakan.
Tekan Enter untuk melewati jika tidak memerlukan passphrase.
File kunci publik id_rsa.pub dan file kunci privat id_rsa dihasilkan di direktori kerja. Pada contoh ini, direktori kerja adalah C:\Users\test.
Komputer macOS atau Linux
Buka Terminal dan jalankan perintah berikut untuk menghasilkan pasangan kunci.
Pada contoh ini, klien OpenSSH digunakan untuk menghasilkan pasangan kunci.
ssh-keygen -t rsa -b 2048 -f id_rsa
-
-t rsa: jenis kunciRSA. -
-b 2048: panjang kunci 2.048 bit. -
-f id_rsa: menghasilkan file kunci bernama id_rsa ke direktori kerja.
Anda akan diminta memasukkan passphrase. Jika ditetapkan, passphrase tersebut diperlukan setiap kali kunci privat digunakan.
Tekan Enter untuk melewati jika tidak memerlukan passphrase.
File kunci publik id_rsa.pub dan file kunci privat id_rsa dihasilkan di direktori kerja.
2.3 Kirim kunci publik sebagai kunci publik sementara ke instans
Komputer Windows
Buka Command Prompt, buka direktori ali-instance-cli.exe, lalu jalankan perintah berikut untuk mendaftarkan kunci publik sementara ke instans.
Ganti<instance_id>dengan ID instans,<public_key_path>dengan path file kunci publik yang dihasilkan pada Langkah 2.2, dan<ecs_username>dengan username yang akan diberi kunci publik sementara:
ali-instance-cli.exe send_public_key --instance <instance_id> --public-key <public_key_path> --user-name <ecs_username>
Contoh: daftarkan kunci publik di C:\Users\test\id_rsa.pub ke instans i-bp1****** dan tetapkan ke pengguna ecs-user:
ali-instance-cli.exe send_public_key --instance i-bp1****** --public-key C:\Users\test\id_rsa.pub --user-name ecs-user
Setelah perintah berhasil, hubungkan ke instans dengan kunci privat yang sesuai dalam waktu 60 detik.
Komputer macOS atau Linux
Buka Terminal, buka direktori ali-instance-cli, lalu jalankan perintah berikut untuk mendaftarkan kunci publik sementara ke instans.
Ganti<instance_id>dengan ID instans,<public_key_path>dengan path file kunci publik yang dihasilkan pada Langkah 2.2, dan<ecs_username>dengan username yang akan diberi kunci publik sementara:
./ali-instance-cli send_public_key --instance <instance_id> --public-key <public_key_path> --user-name <ecs_username>
Contoh: daftarkan kunci publik di ~/id_rsa.pub ke instans i-bp1****** dan tetapkan ke pengguna ecs-user:
./ali-instance-cli send_public_key --instance i-bp1****** --public-key ~/id_rsa.pub --user-name ecs-user
-
Setelah perintah berhasil, hubungkan ke instans dengan kunci privat yang sesuai dalam waktu 60 detik.
3. Hubungkan ke instans melalui SSH
Jika Anda diminta bahwa password atau kunci publik salah, kemungkinan kunci publik telah kedaluwarsa. Kunci publik sementara hanya berlaku selama 60 detik.
Buka Command Prompt atau Terminal dan jalankan perintah berikut untuk menghubungkan ke instans.
Ganti<private_key_path>dengan path file kunci privat yang dihasilkan pada Langkah 2.2,<ecs-username>dengan username yang ditentukan pada Langkah 2.3, dan<ecs_ip>dengan Alamat IP publik instans.
ssh -i <private_key_path> <ecs-username>@<ecs_ip>
Contoh: hubungkan ke instans 223.***.***.187 sebagai ecs-user dengan kunci privat ~/id_rsa:
ssh -i ~/id_rsa ecs-user@223.***.***.187
Anda juga dapat menggunakan fitur port forwarding dari ali-instance-cli untuk menghubungkan ke instans tanpa Alamat IP publik. Lihat Use the port forwarding feature of Session Manager CLI to connect to an instance without a public IP address.
FAQ
Baris perintah tidak merespons setelah menjalankan perintah (Instans tidak dalam status Running)
Jika baris perintah tidak merespons setelah menjalankan perintah ali-instance-cli, kemungkinan instans tidak dalam status Running. Untuk melihat status instans, lihat Check whether the instance is in the Running state dalam topik ini.
Baris perintah tidak merespons setelah menjalankan perintah (Masalah konfigurasi security group)
Jika baris perintah tidak merespons setelah menjalankan perintah ali-instance-cli, kemungkinan port outbound yang diperlukan belum dibuka di security group. Secara default, basic security groups mengizinkan semua lalu lintas outbound. Masalah ini dapat terjadi jika Anda mengubah aturan outbound atau menggunakan advanced security group.
Saat menggunakan Session Manager untuk menghubungkan ke Instance ECS, pastikan Cloud Assistant Agent yang berjalan di Instance ECS terhubung ke server Cloud Assistant dengan menambahkan aturan berikut ke security group outbound:
Dibandingkan metode koneksi seperti SSH dan Protokol Desktop Jarak Jauh (RDP), Cloud Assistant Agent secara aktif membuat koneksi WebSocket ke server Session Manager. Anda hanya perlu membuka port outbound WebSocket server Cloud Assistant dalam aturan keamanan. Untuk informasi tentang cara kerja Session Manager, lihat bagian How Session Manager works dalam topik ini.
Jika Anda menggunakan basic security groups termasuk default security group, semua lalu lintas outbound diizinkan. Tidak diperlukan konfigurasi tambahan.
Jika Anda menggunakan advanced security group, semua lalu lintas outbound ditolak. Anda harus mengonfigurasi aturan yang relevan. Tabel berikut menjelaskan aturan tersebut. Untuk informasi tentang security group, lihat Basic and advanced security groups.
Untuk informasi tentang cara menambahkan aturan ke security group, lihat Add a security group rule.
Action | Priority | Protocol type | Port range | Authorization object | Description |
Allow | 1 | Custom TCP | 443 |
| Port ini digunakan untuk mengakses server Cloud Assistant. |
Allow | 1 | Custom TCP | 443 |
| Port ini digunakan untuk mengakses server tempat paket instalasi Cloud Assistant Agent disimpan saat Anda ingin menginstal atau memperbarui Cloud Assistant Agent. |
Allow | 1 | Custom UDP | 53 |
| Port ini digunakan untuk menyelesaikan nama domain. |
Jika Anda hanya ingin menghubungkan ke instans menggunakan Session Manager, hapus aturan inbound yang mengizinkan port SSH (default 22) dan port RDP (default 3389) dari security group untuk meningkatkan keamanan Instance ECS.
Error DeliveryTimeout dilaporkan setelah menjalankan perintah (Cloud Assistant Agent offline)
Jika error DeliveryTimeout terjadi saat menjalankan perintah ali-instance-cli, Cloud Assistant Agent mungkin tidak tersedia. Periksa apakah Cloud Assistant Agent telah terinstal pada instans.


Error "session manager is disabled, please enable first" dilaporkan setelah menjalankan perintah
Jika error session manager is disabled, please enable first terjadi setelah menjalankan perintah ali-instance-cli, aktifkan Session Manager di Konsol.
Koneksi secara otomatis tertutup karena periode inaktivitas yang lama
Koneksi Session Manager akan tertutup setelah timeout idle. Nilai defaultnya adalah 3 menit. Gunakan parameter --idle-timeout untuk mengatur timeout idle khusus dalam satuan detik.
Contoh: hubungkan dengan timeout idle 10 menit:
./ali-instance-cli session --instance instance-id --idle-timeout 600
Fitur ini memerlukan versi ali-instance-cli:
-
Linux:
1.2.0.48 -
Windows:
1.1.0.48 -
macOS:
1.3.0.48
Cara menganalisis log ali-instance-cli
Analisis log ali-instance-cli untuk mengidentifikasi masalah.
-
Log Session Manager CLI: Saat menggunakan ali-instance-cli, folder log (misalnya
~/log/aliyun_ecs_session_log.2022XXXX) dihasilkan di direktori tool tersebut. -
Log Cloud Assistant Agent:
-
Linux
/usr/local/share/aliyun-assist/<versi Cloud Assistant Agent>/log/ -
Windows
C:\ProgramData\aliyun\assist\<versi Cloud Assistant Agent>\log
-





