Ubuntu'da Uzaktan Linux/Windows Erişimi için Guacamole'yi yükleyin


Bir sistem yöneticisi olarak kendinizi (bugün veya gelecekte) Windows ve Linux'un bir arada var olduğu bir ortamda çalışırken bulabilirsiniz.

Bazı büyük şirketlerin üretim hizmetlerinin bir kısmını Windows kutularında, diğerlerini ise Linux sunucularında çalıştırmayı tercih ettiği (veya yürütmek zorunda olduğu) bir sır değil.

Durumunuz buysa, bu kılavuzu kollarınızı açarak karşılayacaksınız (aksi takdirde devam edin ve en azından onu yer imlerinize eklediğinizden emin olun).

Bu makalede, yalnızca merkezi bir sunucuya kurulması gereken, Tomcat tarafından desteklenen bir uzak masaüstü ağ geçidi olan guacamole'yi tanıtacağız.

Guacamole, bir makineden diğerine hızlı bir şekilde geçiş yapmanızı sağlayacak web tabanlı bir kontrol paneli sağlayacaktır; üstelik hepsi aynı web tarayıcı penceresinde.

Test Ortamı

Bu yazımızda aşağıdaki makineleri kullandık. Guacamole'ü bir Ubuntu kutusuna yükleyeceğiz ve onu Uzak Masaüstü Protokolü üzerinden Windows 10 kutusuna erişmek için kullanacağız ( RDP) ve SSH ağ protokolünü kullanan bir RHEL kutusu:

Guacamole server: Ubuntu 20.04 - IP 192.168.0.100
Remote SSH box: RHEL 8 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

Bu, hadi başlayalım dedi.

Guacamole Sunucusunu Ubuntu'ya Kurmak

1. guacamole'yi yüklemeden önce bağımlılıklarıyla ilgilenmeniz gerekecektir.

sudo apt update
sudo apt install -y gcc vim curl wget g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev build-essential \
libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev freerdp2-dev libwebsockets-dev \
libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-user

2. Tarball'ı indirip çıkarın. Şubat 2021'in başlarından itibaren Guacamole'un en son sürümü 1.3.0'dır. Belirli bir zamanda en son sürümü öğrenmek için Guacamole İndirmeler sayfasına başvurabilirsiniz.

wget https://dlcdn.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gz 
tar zxf guacamole-server-1.3.0.tar.gz  

3. Yazılımı derleyin.

cd guacamole-server-1.3.0/
./configure

Beklenildiği gibi, configure sisteminizi gerekli bağımlılıkların varlığı ve desteklenen iletişim protokolleri (vurgulanan karede görülebileceği gibi, Uzak Masaüstü Protokolü ) açısından kontrol edecektir. (RDP) ve SSH daha önce yüklenen bağımlılıklar tarafından desteklenir).

Her şey beklendiği gibi giderse, tamamlandığında şunu görmelisiniz (aksi takdirde gerekli tüm bağımlılıkları yüklediğinizden emin olun):

Yukarıdaki görselin son satırından da anlaşılacağı gibi, programı derlemek için make ve make install komutunu çalıştırın:

make 
sudo make install

4. Yüklü kitaplıkların önbelleğini güncelleyin.

sudo ldconfig 

ve Enter'a basın.

Guacamole İstemcisini Ubuntu'ya Kurmak

Yukarıdaki adımları tamamladıktan sonra guacamole sunucusu kurulmuş olacaktır. Aşağıdaki talimatlar artık guacd'i (Javascript'i RDP veya SSH gibi iletişim protokolleriyle bütünleştiren proxy arka plan programı) ve guacamole.war'ı (istemci) kurmanıza yardımcı olacaktır. Size sunulacak son HTML5 uygulamasını oluşturan bileşen.

Her iki bileşenin de (guacamole sunucusu ve istemci) aynı makineye kurulması gerektiğini unutmayın; kurmak istediğiniz makinelere istemci adı verilen bir şey yüklemenize gerek yoktur. bağlanmak).

İstemciyi indirmek için şu adımları izleyin:

5. Web uygulaması arşivini indirin ve adını guacamole.war olarak değiştirin.

Not: Dağıtımınıza bağlı olarak Tomcat kütüphaneleri dizini /var/lib/tomcat konumunda bulunabilir.

cd /var/lib/tomcat9/
sudo wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
sudo mv guacamole-1.3.0.war webapps/guacamole.war

6. Yapılandırma dosyasını oluşturun (/etc/guacamole/guacamole.properties). Bu dosya, Guacamole'nin guacd'ye bağlanmasıyla ilgili talimatları içerir:

sudo mkdir /etc/guacamole
sudo mkdir /usr/share/tomcat9/.guacamole
sudo nano /etc/guacamole/guacamole.properties

Aşağıdaki içerikleri /etc/guacamole/guacamole.properties'e ekleyin. Bir sonraki adımda oluşturacağımız bir dosyaya (/etc/guacamole/user-mapping.xml) atıfta bulunduğumuzu unutmayın:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml
auth-provider:    net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider
basic-user-mapping:    /etc/guacamole/user-mapping.xml

Ve Tomcat'in dosyayı okuyabilmesi için sembolik bir bağlantı oluşturun:

sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat9/.guacamole/

7. Guacamole user-mapping.xml dosyasını kullanır; hangi kullanıcıların Guacamole web arayüzünde kimlik doğrulaması yapmasına izin verileceğini tanımlamak için bu dosyayı oluşturun ( arasında) etiketleri) ve hangi bağlantıları kullanabileceğini (<connection> etiketleri arasında):

sudo nano /etc/guacamole/user-mapping.xml

Aşağıdaki kullanıcı eşlemesi, tecmint01 şifresine sahip bir tecmint kullanıcısına Guacamole web arayüzüne erişim izni verir. Daha sonra, SSH bağlantısının içine, RHEL kutusuna giriş yapmak için geçerli bir kullanıcı adı yerleştirmemiz gerekiyor (Guacamole bağlantıyı başlattığında sizden ilgili şifreyi girmeniz istenecektir).

Windows 10 kutusu durumunda, RDP üzerinden giriş ekranı bize sunulacağından bunu yapmaya gerek yoktur.

tecmint01 parolasının md5 karmasını elde etmek için aşağıdaki komutu yazın:

printf '%s' "tecmint01" | md5sum

Daha sonra komutun çıktısını <authorize> etiketlerinin içindeki şifre alanına ekleyin:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 8">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

Hassas bilgiler içeren tüm dosyalarda olduğu gibi, user-mapping.xml dosyasının izinlerini kısıtlamak ve sahipliğini değiştirmek önemlidir:

sudo chmod 600 /etc/guacamole/user-mapping.xml
sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml

Tomcat ve guacd'yi başlatın.

sudo service tomcat9 start
sudo /usr/local/sbin/guacd &

Guacamole Web Arayüzünü Başlatma

8. Guacamole web arayüzüne erişmek için bir tarayıcı başlatın ve onu http://sunucu:8080/guacamole adresine yönlendirin; burada sunucu, sunucunuzun ana bilgisayar adı veya IP adresidir. sunucumuza (bizim durumumuzda http://192.168.0.100:8080/guacamole) gidin ve daha önce verilen kimlik bilgileriyle (kullanıcı adı: tecmint, şifre: tecmint01):

9. Giriş'i tıkladıktan sonra, user- uyarınca tecmint kullanıcısının erişebildiği bağlantıların listesini göreceğiniz yönetim arayüzüne yönlendirileceksiniz. haritalama.xml:

10. Devam edin ve gacanepa (bağlantı tanımında belirtilen kullanıcı adı) olarak oturum açmak için RHEL 8 kutusunu tıklayın.

Web arayüzünü açmak için kullandığınız makinenin IP adresinden bağımsız olarak bağlantı kaynağının nasıl 192.168.0.100 (Guacamole sunucusunun IP'si) olarak ayarlandığına dikkat edin:

11. Bağlantıyı kapatmak istiyorsanız çıkış yazın ve Enter'a basın. Ana arayüze (Ana Sayfa) dönmeniz, yeniden bağlanmanız veya Guacamole'den çıkış yapmanız istenecektir:

12. Şimdi Windows 10'a uzak masaüstü bağlantısını denemenin zamanı geldi:

Tebrikler! Artık bir Windows 10 makinesine ve RHEL 8 sunucusuna bir web tarayıcısından erişebilirsiniz.

Özet

Bu yazımızda Guacamole'nin uzak makinelere RDP ve SSH üzerinden erişime izin verecek şekilde nasıl kurulacağını ve yapılandırılacağını anlattık. Resmi web sitesi, VNC gibi diğer protokolleri ve DB tabanlı gibi diğer kimlik doğrulama mekanizmalarını kullanarak erişimi ayarlamanıza yardımcı olacak kapsamlı belgeler sağlar.

Her zaman olduğu gibi, bu makaleyle ilgili herhangi bir sorunuz veya öneriniz varsa bize not bırakmaktan çekinmeyin. Ayrıca başarı öykülerinizi duymayı da sabırsızlıkla bekliyoruz.