手把手搭建Guacamole教程
2019獨角獸企業重金招聘Python工程師標準>>>
初始Guacamole
作用
在瀏覽器上遠程操作虛擬機適用于Chrome,Firefox,IE10等瀏覽器(瀏覽器需要支持HTML5)
Guacamole的介紹以及架構
其由許多部件組成的輕量級web應用程序,大部分的功能依靠Guacamole的底層組件>來完成。
用戶通過瀏覽器連接到Guacamole的服務端。Guacamole的客戶端是用JavaScript編寫的,Guacamole server通過web容器(比如tomcat)把服務提供給用戶。一旦加載,客戶端通過http承載著Guacamole自己的定義的協議與服務端通信。
部署在Guacamole server這邊的Web應用程序,解析到的Guacamole protocal,就傳給Guacamole的代理guacd(中間層),這個代理(guacd)實際上就是解析Guacamole protocal,替用戶連接到遠程機器
guacamole-serve配置
系統環境:
CentOS7.2 + Tomcat8.5 + JDK18 + guacamole-server0.9.14
安裝必要環境:
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
yum -y install
http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
安裝依賴包
yum -y install cairo-devel libjpeg-devel libpng-devel uuid-devel yum -y install ffmpeg-devel freerdp-devel pango-devel libssh2-devel yum -y install libtelnet-devel libvncserver-devel pulseaudio-libs-devel yum -y install openssl-devel libvorbis-devel libwebp-develyum -y install freerdp-plugins下載安裝包:
下載地址:Guacamole安裝包
guacamole-server安裝
tar -zvxf guacamole-server-0.9.14.tar.gz -C /opt cd /opt/guacamole-server-0.9.14/ ./configure --with-initdir=/etc/init.d make #編譯 makeinstall #安裝
啟動guacd服務
/etc/init.d/guacd start
安裝client
將war包移至webapps/
mv guacamole-0.9.14.war /usr/local/tomcat/apache-tomcat-8.5.33/webapps [其會自動解壓]
查看效果
登錄http://IP:8080/guacamole-0.9.14
創建guacamole配置文件和目錄
mkdir /etc/guacamole/
創建guacamole.properties文件
vim /etc/guacamole/guacamole.properties guacd-hostname: localhost guacd-port: 4822 user-mapping.xml: /etc/guacamole/user-mapping.xml enable-clipboard-integration: true創建授權文件 user-mapping.xml
vim /etc/guacamole/ user-mapping.xml <user-mapping> <authorize password="123456" username="admin"> #登錄界面賬號密碼 <connection name="rdp-10.0.102.149">
登入界面
添加服務器
vim /etc/guacamole/ user-mapping.xml<user-mapping><authorize password="123456" username="admin"> #登錄界面賬號密碼<connection name="rdp-10.0.102.149"><protocol>rdp</protocol> #RDP協議配置<param name="hostname">10.0.102.149</param> #遠程主機IP<param name="port">3389</param> #rdp 默認端口<param name="username">admin123</param> #遠程主機用戶<param name="password">qwer1234!</param> #遠程主機用戶密碼</connection> <connection name="ssh-10.0.102.219"><protocol>ssh</protocol><param name="hostname">10.0.102.219</param><param name="port">22</param><param name="username">root</param><param name="password">cnhope</param><param name="enable-sftp">true</param> #sftp參數配置(沒有安裝則以下sftp可不用添加)<param name="sftp-hostname">10.0.102.219</param><param name="sftp-root-directory">/data/sftp</param><param name="sftp-username">sftp</param><param name="sftp-password">123</param><param name="color-scheme">white-black</param> #遠程登錄顯示字體顏色</connection></authorize> </user-mapping>重啟guacd并登錄
/etc/init.d/guacd restart
擴展
SFTP安裝
是要在每一臺linux服務器上進行配置的,你要登錄哪臺機器,需要上傳文件到該機器上,就需要配置SFTP
1.創建sftp用戶組/用戶
groupadd sftp useradd -g sftp -s /sbin/nologin -M sftp
2.設置密碼
echo "123"|passwd --stdin sftp
3.創建sftp根目錄,即存放文件的目錄
mkdir -p /data/sftp chown root:sftp /data/sftp chmod 770 /data/sftp
4.編輯sshd_config文件
vim /etc/ssh/sshd_config Subsystem sftp /usr/libexec/openssh/sftp-server // 注釋這一條配置 新增以下配置 Subsystem sftp internal-sftp Match User sftp X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /data/sftp
字體設置
在生產中發現ssh協議連接linux機器,會出現亂碼的情況。這是因為guacamole機器字體不對,可以從windows機器下載黑體和宋體字到linux機器上
1.查看是否有安裝fontconfig
cd /usr/shared/fonts (沒有該目錄則 yum -y install fontconfig)
2.在windows系統拷貝字體
進入windows C:\Windows\Fonts中
3.選擇宋體和黑體
4.將字體放進linux
在/usr/shared/fonts目錄下新建一個目錄chinese mkdir /usr/shared/fonts/chinese 將windows下兩個字體,放置在該目錄下 vi /etc/fonts/fonts.conf
更新字體緩存并查看
內存中的字體緩存 fc-cache 可查看字體列表 fc-list
問題
一
tomcat關閉后重啟后,但進程沒有啟動 方法 進入/usr/local/tomcat/apache-tomcat-8.5.33/conf/server.xml文件 將以下這段刪除<Contextpath="/"docBase="guacamole"debug="0"privileged="true"reloadable="true"/> 便可啟動
二
問題:如下圖guacd重啟失敗 解決: netstat -lntp 發現guacd進程未關閉 將guacd的進程號kill掉 kill -9 +guacd進程號
三
問題
由上圖可得該錯誤是由系統本身缺少fonts字體
方法 參照上述擴展內容 字體步驟,在windons將字體拷貝至centos中
轉載于:https://my.oschina.net/wuzsheng/blog/2052043
總結
以上是生活随笔為你收集整理的手把手搭建Guacamole教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用acts_as_paranoid 做假
- 下一篇: oracle包与实体包,实体oracle