SSH ve RDP'ye güvenli bir alternatif olarak, parola veya genel IP adresi gerektirmeden ECS örneklerine bağlanın.
Session Manager CLI nedir?
Session Manager CLI (ali-instance-cli), ECS örneklerine Session Manager aracılığıyla bağlanan bir Alibaba Cloud CLI aracıdır.
Komut satırı işlemleri için ali-instance-cli aracını Alibaba Cloud CLI ile birlikte de kullanabilirsiniz.
Ön koşullar
Session Manager hizmetini etkinleştirin
Örneğin Çalışıyor durumunda olup olmadığını kontrol edin
**Cloud Assistant Agent** yüklü mü kontrol edin
Session Manager için bir RAM kullanıcısının kimlik bilgilerini hazırlayın
1. Session Manager CLI'yı yükleyin ve yapılandırın
Session Manager CLI'yı zaten yüklediyseniz ve yapılandırdıysanız bu adımı atlayın.
1.1 Yükleme
Session Manager CLI'yı (ali-instance-cli) bilgisayarınıza yükleyin. Yükleme yöntemi işletim sistemine göre değişir.
Windows
Windows için ali-instance-cli dosyasını indirmek için tıklayın ve yerel bir klasöre kaydedin.
Bu konuda örnek olarak C:\Users\test klasörü kullanılmıştır.
macOS
macOS terminalinde, macOS için ali-instance-cli dosyasını indirin:
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli
Çalıştırma izinleri verin:
chmod a+x ali-instance-cli
Linux
Linux için ali-instance-cli yükleyin:
x86 architecture
curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli
arm architecture
curl -O https://aliyun-client-assist.oss-cn-beijing.aliyuncs.com/session-manager/linux_arm/ali-instance-cli
Çalıştırma izinleri verin:
chmod a+x ali-instance-cli
1.2 Yapılandırma
Bir ECS örneğine ali-instance-cli ile bağlanmak için AccessKey gibi kimlik bilgilerini yapılandırın. Bkz. Session Manager için bir RAM kullanıcısının kimlik bilgilerini hazırlayın.
Windows
seçeneğine tıklayın, cmd girin ve komut istemi penceresini açmak için
Entertuşuna basın.-
ali-instance-cli.exe dizinine gidin. Bu örnekte
C:\Users\testkullanılmaktadır.cd C:\Users\test -
Kimlik bilgilerini aşağıdaki yöntemlerden birini kullanarak yapılandırın:
AccessKey
İstendiğinde AccessKey ID, AccessKey secret ve Region ID değerlerini yapılandırın:
ali-instance-cli.exe configure --mode AKSTS Token
Yapılandırmayı tamamlayın:
ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"<region>, <ak>, <sk> ve <sts_token> değerlerini gerçek bölge kimliğiniz, AccessKey Kimliğiniz, AccessKey Gizli Anahtarınız ve
STS tokenile değiştirin.CredentialsURI
İstendiğinde Credentials URI ve Region ID değerlerini girin:
ali-instance-cli.exe configure --mode=CredentialsURIAşağıdaki çıktı, yapılandırmanın başarılı olduğunu gösterir.

macOS/Linux
-
ali-instance-cli dizinine gidin. Bu örnekte ev dizini
~kullanılmaktadır.cd ~ -
Kimlik bilgilerini yapılandırın:
AccessKey
İstendiğinde AccessKey ID, AccessKey secret ve Region ID değerlerini yapılandırın:
./ali-instance-cli configure --mode AKSTS Token
Yapılandırmayı tamamlayın:
./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>" --access-key-secret "<sk>" --sts-token "<sts_token>"<region>, <ak>, <sk> ve <sts_token> değerlerini gerçek bölge kimliğiniz, AccessKey Kimliğiniz, AccessKey Gizli Anahtarınız ve
STS tokenile değiştirin.CredentialsURI
İstendiğinde Credentials URI ve Region ID değerlerini yapılandırın:
./ali-instance-cli configure --mode=CredentialsURIAşağıdaki çıktı, yapılandırmanın başarılı olduğunu gösterir.

2. Session Manager kullanarak bir örneğe bağlanma
2.1 Örnek kimliğini alma
Session Manager ile bağlanmadan önce örnek kimliğini alın.
Console
|
|
Alibaba Cloud CLI
Alibaba Cloud CLI yapılandırılmışsa, örnek kimliğini almak için aşağıdaki komutu çalıştırın. Parametre ayrıntıları için bkz. DescribeInstances.
Bu konuda örnek olarak Çin (Hangzhou) bölgesindeki SessionManager-example adlı bir örnek kullanılmıştır.
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'
Yanıtta döndürülen InstanceId değeri örnek kimliğidir.

API
Bkz. DescribeInstances.
2.2 ali-instance-cli Session Manager özelliğini kullanma
Local machine: Windows
Komut isteminde, ali-instance-cli.exe dizinine gidin ve örneğe bağlanın. <instance_id> yerine Adım 2.1'deki örnek kimliğini yazın.
ali-instance-cli.exe session --instance <instance_id>
Örnek: i-bp1****** kimliğine sahip bir örneğe bağlanma:
ali-instance-cli.exe session --instance i-bp1******
Bağlantı başarılı olduktan sonra örneğin komut satırı arayüzüne erişebilirsiniz.

macOS/Linux
Terminalde, ali-instance-cli dizinine gidin ve örneğe bağlanın. <instance_id> yerine Adım 2.1'deki örnek kimliğini yazın.
./ali-instance-cli session --instance <instance_id>
Örnek: i-bp1****** kimliğine sahip bir örneğe bağlanma:
./ali-instance-cli session --instance i-bp1******
Aşağıdaki çıktı, bağlantının başarılı olduğunu gösterir. Artık örneğin komut satırı arayüzüne erişebilirsiniz.

2.3 ali-instance-cli kullanarak bir LINGJUN düğümüne bağlanma
1.x.0.93 sürümünden başlayarak, ali-instance-cli alt komutu session, --node parametresini destekler. Bağlanılacak LINGJUN düğümünün kimliğini belirtmek için bu parametreyi kullanın.
Local machine: Windows
Komut isteminde, ali-instance-cli.exe dizinine gidin ve aşağıdaki komutu çalıştırın. <lingjun_node_id> yerine LINGJUN düğümünün kimliğini yazın.
ali-instance-cli.exe session --node <lingjun_node_id>
Bağlantı başarılı olduktan sonra LINGJUN düğümünün komut satırı arayüzüne erişebilirsiniz.
macOS/Linux
Terminalde, ali-instance-cli dizinine gidin ve aşağıdaki komutu çalıştırın. <lingjun_node_id> yerine LINGJUN düğümünün kimliğini yazın.
./ali-instance-cli session --node <lingjun_node_id>
Bağlantı başarılı olduktan sonra LINGJUN düğümünün komut satırı arayüzüne erişebilirsiniz.
Diğer özellikler
Session Manager CLI (ali-instance-cli) aşağıdaki özellikleri de destekler:
-
Genel IP adresi olmayan örneklere erişim (bağlantı noktası iletme)
Proxy veya atlama sunucularını atlayarak, genel IP adresi olmayan örneklerdeki hizmetlere erişmek için bir örnek bağlantı noktasını yerel bir bağlantı noktasına eşleyin.
-
Geçici SSH genel anahtarlarını kaydetme
Hedef örnekle geçici bir genel anahtar kaydedin ve SSH bağlantıları için ilgili özel anahtarı kullanın.
SSS
Bir komut çalıştırdıktan sonra komut satırı yanıt vermiyor (Örnek Çalışıyor durumunda değil)
Bir ali-instance-cli komutu çalıştırdıktan sonra komut satırı yanıt vermiyorsa örnek Running durumunda olmayabilir. Örnek durumunu görüntülemek için bu konudaki Örneğin Çalışıyor durumunda olup olmadığını kontrol edin bölümüne bakın.
Bir komut çalıştırdıktan sonra komut satırı yanıt vermiyor (Güvenlik grubu yapılandırma sorunu)
Bir ali-instance-cli komutu çalıştırdıktan sonra komut satırı yanıt vermiyorsa güvenlik grubunda gerekli giden bağlantı noktaları açık olmayabilir. Varsayılan olarak temel güvenlik grupları tüm giden trafiğe izin verir. Giden kurallarını değiştirdiyseniz veya gelişmiş bir güvenlik grubu kullanıyorsanız bu sorun oluşabilir.
Session Manager kullanarak bir ECS örneğine bağlanırken, aşağıdaki kuralları bir giden güvenlik grubuna ekleyerek ECS örneğinde çalışan Cloud Assistant Agent yazılımının Cloud Assistant sunucusuna bağlı olduğundan emin olun:
SSH ve Uzak Masaüstü Protokolü (RDP) gibi diğer bağlantı yöntemleriyle karşılaştırıldığında Cloud Assistant Agent , Session Manager sunucusuna aktif olarak bir WebSocket bağlantısı kurar. Bir güvenlik kuralında Cloud Assistant sunucusunun giden WebSocket bağlantı noktasını açmanız yeterlidir. Session Manager'ın çalışma şekli hakkında bilgi için bu konunun Session Manager nasıl çalışır? bölümüne bakın.
Varsayılan güvenlik grubu dahil olmak üzere temel güvenlik grupları kullanıyorsanız tüm giden trafiğe izin verilir. Ek yapılandırma gerekmez.
Gelişmiş bir güvenlik grubu kullanıyorsanız tüm giden trafik reddedilir. İlgili kuralları yapılandırmanız gerekir. Kurallar aşağıdaki tabloda açıklanmıştır. Güvenlik grupları hakkında bilgi için bkz. Temel ve gelişmiş güvenlik grupları.
Bir güvenlik grubuna kural ekleme hakkında bilgi için bkz. Güvenlik grubu kuralı ekleme.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bir örneğe yalnızca Session Manager kullanarak bağlanmak istiyorsanız, ECS örneğinin güvenliğini artırmak amacıyla bir güvenlik grubundan SSH bağlantı noktasına (varsayılan 22) ve RDP bağlantı noktasına (varsayılan 3389) izin veren gelen kurallarını silin.
Bir komut çalıştırdıktan sonra DeliveryTimeout hatası bildiriliyor (Cloud Assistant Agent çevrimdışı)
Bir ali-instance-cli komutu çalıştırdığınızda DeliveryTimeout hatası oluşursa Cloud Assistant Agent kullanılamıyor olabilir. Cloud Assistant Agent'ın örnekte yüklü olup olmadığını kontrol edin.


Bir komut çalıştırdıktan sonra "session manager is disabled, please enable first" hatası bildiriliyor
Bir ali-instance-cli komutu çalıştırdıktan sonra session manager is disabled, please enable first hatası oluşursa konsolda Session Manager'ı etkinleştirin.
Uzun süreli hareketsizlik nedeniyle bağlantı otomatik olarak kapatılıyor
Session Manager bağlantıları, boşta kalma zaman aşımından sonra kapanır. Varsayılan süre 3 dakikadır. Saniye cinsinden özel bir boşta kalma zaman aşımı ayarlamak için --idle-timeout parametresini kullanın.
Örnek: 10 dakikalık boşta kalma zaman aşımı ile bağlanma:
./ali-instance-cli session --instance instance-id --idle-timeout 600
Bu özellik için ali-instance-cli sürümü gereklidir:
Linux:
1.2.0.48Windows:
1.1.0.48macOS:
1.3.0.48
ali-instance-cli günlükleri nasıl analiz edilir
Sorunları belirlemek için ali-instance-cli günlüklerini analiz edin.
Session Manager CLI günlükleri: ali-instance-cli kullanırken, aracın dizininde bir günlük klasörü (ör.
~/log/aliyun_ecs_session_log.2022XXXX) oluşturulur.-
Cloud Assistant Agent günlükleri:
-
Linux
/usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/ -
Windows
C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log
-


