Jumpserver最新版本支援windows元件,廢話不多介紹了,下面直接介紹下部署過程:
0)系統環境
CentOS 7.3
IP: 192.168.10.210
[root@jumpserver-server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
關閉防火牆和selinux
[root@jumpserver-server ~]# systemctl stop firewalld.service
[root@jumpserver-server ~]# systemctl disable firewalld.service
[root@jumpserver-server ~]# setenforce 0
[root@jumpserver-server ~]# getenforce
[root@jumpserver-server ~]# cat /etc/sysconfig/selinux
........
SELINUX=disabled
修改字元集,否則可能報 input/output error的問題,因為日志裡列印了中文
[root@jumpserver-server ~]# localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@jumpserver-server ~]# export LC_ALL=zh_CN.UTF-8
[root@jumpserver-server ~]# echo 'LANG=zh_CN.UTF-8' > /etc/sysconfig/i18n
1)準備Python3和Python虛拟環境
1.1)安裝依賴包
[root@jumpserver-server ~]# yum -y install wget libselinux-python sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
1.2)編譯安裝(這裡必須執行編譯安裝,否則在安裝 Python 庫依賴時會有麻煩)
[root@jumpserver-server ~]# cd /usr/local/src/
[root@jumpserver-server src]# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
[root@jumpserver-server src]# tar xvf Python-3.6.1.tar.xz
[root@jumpserver-server src]# cd Python-3.6.1
[root@jumpserver-server Python-3.6.1]# ./configure && make && make install
1.3)建立Python虛拟環境
因為CentOS 6/7自帶的是Python2,而Yum等工具依賴原來的Python,為了不擾亂原來的環境我們來使用Python虛拟環境
[root@jumpserver-server ~]# cd /opt/
[root@jumpserver-server opt]# python3 -m venv py3
[root@jumpserver-server opt]# source /opt/py3/bin/activate
(py3) [root@jumpserver-server opt]#
看到上面的提示符代表成功,以後運作Jumpserver都要先運作以上source指令,以下所有指令均在該虛拟環境中運作!
2)安裝Jumpserver 1.0.0
2.1)下載下傳或clone項目
除了在github上下載下傳外,還可以到百度雲盤上下載下傳:https://pan.baidu.com/s/1BVYRF7M-akKjUOoYZPBi7Q (提取密碼:v5rs)
(py3) [root@jumpserver-server ~]# cd /opt/
(py3) [root@jumpserver-server opt]# git clone https://github.com/jumpserver/jumpserver.git
2.2)安裝依賴rpm包
(py3) [root@jumpserver-server opt]# cd /opt/
(py3) [root@jumpserver-server opt]# cd jumpserver/requirements
(py3) [root@jumpserver-server requirements]# yum -y install epel-release
(py3) [root@jumpserver-server requirements]# yum -y install $(cat rpm_requirements.txt) //如果沒有任何報錯請繼續
2.3)安裝python庫依賴
(py3) [root@jumpserver-server requirements]# pip install -r requirements.txt //如果沒有任何報錯請繼續
2.4)安裝Redis, Jumpserver 使用 Redis 做 cache 和 celery broke
(py3) [root@jumpserver-server requirements]# yum -y install redis
(py3) [root@jumpserver-server requirements]# systemctl start redis
(py3) [root@jumpserver-server requirements]# lsof -i:6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 11281 redis 4u IPv4 90233 0t0 TCP localhost:6379 (LISTEN)
2.5)安裝MySQL
(py3) [root@jumpserver-server requirements]# yum -y install mariadb mariadb-devel mariadb-server
(py3) [root@jumpserver-server requirements]# systemctl enable mariadb
(py3) [root@jumpserver-server requirements]# systemctl start mariadb
(py3) [root@jumpserver-server requirements]# systemctl status mariadb
(py3) [root@jumpserver-server requirements]# lsof -i:3306
設定mysql密碼,比如密碼設定為123456
(py3) [root@jumpserver-server requirements]# mysql_secure_installation
......
Set root password? [Y/n] y
New password: //比如密碼是123456
Re-enter new password:
...... //其他項全部回車預設
建立資料庫Jumpserver并授權
(py3) [root@jumpserver-server requirements]# mysql -p123456
MariaDB [(none)]> create database jumpserver default charset 'utf8';
MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jumpserver@123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jumpserver |
| mysql |
| performance_schema |
| test |
+--------------------+
2.6)安裝 python3 mysql驅動: mysqlclient
由于MySQLdb庫不支援 python3.5+,是以選擇了mysqlclient作為驅動,pymysql使用python寫的,速度較慢
(py3) [root@jumpserver-server requirements]# pip install mysqlclient
2.7)修改jumpserver配置檔案
計劃修改 DevelopmentConfig中的配置,因為預設jumpserver是使用該配置,它繼承自Config。
(py3) [root@jumpserver-server opt]# cd /opt/jumpserver
(py3) [root@jumpserver-server jumpserver]# cp config_example.py config.py
(py3) [root@jumpserver-server jumpserver]# vim config.py
.....
class ProductionConfig(Config):
pass
class DevelopmentConfig(Config): //從這一行開始添加
DEBUG = True
DISPLAY_PER_PAGE = 20
DB_ENGINE = 'mysql'
DB_HOST = '127.0.0.1'
DB_PORT = 3306
DB_USER = 'jumpserver'
DB_PASSWORD = 'jumpserver@123'
DB_NAME = 'jumpserver'
EMAIL_HOST = 'smtp.kevin.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'monit@123'
EMAIL_USE_SSL = True
EMAIL_USE_TLS = False
EMAIL_SUBJECT_PREFIX = '[Jumpserver] '
SITE_URL = 'http://192.168.10.210:8080' //一直添加到這一行
# Default using Config settings, you can write if/else for different env
config = DevelopmentConfig()
2.8)生成資料庫表結構和初始化資料
(py3) [root@jumpserver-server jumpserver]# cd /opt/jumpserver/utils
(py3) [root@jumpserver-server utils]# ls
clean_migrations.sh export_fake_data.sh load_fake_data.sh make_migrations.sh redis.conf
(py3) [root@jumpserver-server utils]# bash make_migrations.sh
.....
"""
jumpserver.config
~~~~~~~~~~~~~~~~~
Jumpserver project setting file
........
Applying django_celery_beat.0002_auto_20161118_0346... OK
Applying django_celery_beat.0003_auto_20161209_0049... OK
Applying django_celery_beat.0004_auto_20170221_0000... OK
Applying terminal.0002_auto_20180318_2330... OK
出現如上資訊,即表示操作成功!
2.9)運作Jumpserver
(py3) [root@jumpserver-server utils]# cd /opt/jumpserver
(py3) [root@jumpserver-server jumpserver]# python run_server.py & //按鍵ctrl+c結束
(py3) [root@jumpserver-server jumpserver]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gunicorn 17338 root 5u IPv4 204937 0t0 TCP *:webcache (LISTEN)
gunicorn 28888 root 5u IPv4 204937 0t0 TCP *:webcache (LISTEN)
gunicorn 28890 root 5u IPv4 204937 0t0 TCP *:webcache (LISTEN)
gunicorn 28894 root 5u IPv4 204937 0t0 TCP *:webcache (LISTEN)
gunicorn 28896 root 5u IPv4 204937 0t0 TCP *:webcache (LISTEN)
運作不報錯,請浏覽器通路 http://192.168.10.210:8080/ 賬号: admin 密碼: admin

3)測試使用Jumpserver 1.0.0
a)建立使用者:測試是否正常發送郵件,通過郵件中的連結進行密碼設定;測試是否正常修改密碼,登入。
b)建立管理使用者:建立一個管理使用者, 建立資産時需要關聯
c)建立資産:建立一個 資産,關聯剛建立的管理使用者
d)建立系統使用者:系統使用者是用來登入資産的,授權時需要
e)建立授權規則:關聯使用者,資産,系統使用者 形成授權規則,授權的系統使用者會自動推送到資産上
注意事項:
3.1)新版本的jumpserver界面裡建立的使用者不會自動在jumpserver部署機上建立,即/etc/passwd檔案裡不會有這些使用者資訊。
(jumpserver3.0之前都是會在jumpserver部署機上建立使用者的)
3.2)使用者的秘鑰可以在jumpserver部署機上生産,根據每個使用者建立時填寫的郵件(使用者郵件不能重複)進行生成。如下建立wangshibo使用者的秘鑰:
[root@jumpserver-server ~]# ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/wangshibo_id_rsa //在這一步要指定郵件指定秘鑰檔案名稱
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/wangshibo_id_rsa.
Your public key has been saved in /root/.ssh/wangshibo_id_rsa.pub.
The key fingerprint is:
SHA256:VAPokLf1L5Q20TOloendiZWDx4BFHfo4y2GMxZMPDVA [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| . ...+BEoo. |
| o o ..o=+@.. |
| + o..ooXoB |
| o. .*= @ o |
| SoooO = |
| .o.+ |
| .o |
| |
| |
+----[SHA256]-----+
[root@[root@jumpserver-server ~]# ~]# cd /root/.ssh/
[root@[root@jumpserver-server ~]# .ssh]# ll
total 20
-rw-r--r--. 1 root root 1371 Mar 31 22:12 known_hosts
-rw-------. 1 root root 1675 Mar 31 14:42 wangshibo_id_rsa
-rw-r--r--. 1 root root 409 Mar 31 14:42 wangshibo_id_rsa.pub
然後使用wanghsibo使用者登入jumpserver界面後,用上面的wangshibo_id_rsa.pub檔案中的公鑰内容進行送出!
3.3)被添加的主機要關閉iptables和selinux。即:
# /etc/init.d/iptables stop
# yum install libselinux-python -y
# setenforce 0
# getenforce
否則在執行推送作業時會報錯:
Set ops authorized key => Aborting, target uses selinux but python bindings (libselinux-python) aren't installed!
3.4)管理使用者要是真實存在被添加主機系統上的使用者,最好用root賬号(真實的root密碼)或是其他能有sudo權限的賬号。
3.5)若是系統使用者不能自動推送,可以手動點選"推送"
3.6)主機資産添加後,要登入檢視它們是否被正常推送了系統使用者以及sudo權限是否正常設定了。
3.7)檢查"作業中心"-"任務清單"裡的任務是否都被成功執行了,如果有報錯,可以根據具體報錯資訊進行修複。
4)安裝 SSH Server: Coco
新開一個終端,别忘了"source /opt/py3/bin/activate",
4.1)載coco項目。
也可以百度雲盤下載下傳:https://pan.baidu.com/s/1rEFg1Wlw9ZtK6YPsyaqDiA 提取密碼:x8ga
(py3) [root@jumpserver-server ~]# cd /opt
(py3) [root@jumpserver-server opt]# git clone https://github.com/jumpserver/coco.git
4.2)安裝依賴
(py3) [root@jumpserver-server opt]# cd /opt/coco/requirements
(py3) [root@jumpserver-server requirements]# yum -y install $(cat rpm_requirements.txt)
(py3) [root@jumpserver-server requirements]# pip install -r requirements.txt
4.3)檢視配置檔案并運作
(py3) [root@jumpserver-server requirements]# cd /opt/coco
(py3) [root@jumpserver-server coco]# cp conf_example.py conf.py
[root@centos6-test10 coco]# python run_server.py &
這時候仔細觀察,會有如下報錯資訊:
ERROR:root:Load access key failed
Using access key 311d0e77-5ec9-4c46-a131-7409e1daf271:***
WARNING:/opt/coco/coco/service.py:App auth failed, Access key error or need admin active it
這時需要去jumpserver界面的管理背景-會話管理-終端管理-進行coco的注冊。
注冊完成後,上面的啟動資訊中的報錯就不會出現了
(py3) [root@jumpserver-server coco]# lsof -i:2222
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 17738 root 7u IPv4 207992 0t0 TCP *:EtherNet/IP-1 (LISTEN)
隻要2222端口是啟動起來的,則下面注冊的Coco項目就會是"線上"狀态中的!
4.4)測試連接配接
要保證2222端口是啟動着的。然後進行堡壘機的連接配接測試,可以使用預設的admin使用者或上面自己建立的wangshibo使用者。
注意這些使用者建立後不會再jumpserver部署機裡自動建立成系統使用者(但是3.0之前的jumpserver會在部署機上自動建立)
(py3) [root@jump-v4 coco]# ssh -p2222 [email protected] //admin的密碼預設是admin
......
[email protected]'s password:
Administrator, 歡迎使用Jumpserver開源跳闆機系統
1) 輸入 ID 直接登入 或 輸入部分 IP,主機名,備注 進行搜尋登入(如果唯一).
2) 輸入 / + IP, 主機名 or 備注 搜尋. 如: /ip
3) 輸入 P/p 顯示您有權限的主機.
4) 輸入 G/g 顯示您有權限的主機組.
5) 輸入 G/g + 組ID 顯示該組下主機. 如: g1
6) 輸入 H/h 幫助.
0) 輸入 Q/q 退出.
-------------------------------------------------
如果是用Xshell登入的話,文法如下
$ssh [email protected] 2222
密碼: admin
如果能登陸代表部署成功
------------------------------------------------
5)安裝 Web Terminal: Luna
新開一個終端,連接配接測試機,别忘了"source /opt/py3/bin/activate"
Luna 已改為純前端,需要 Nginx 來運作通路。
可以通路https://github.com/jumpserver/luna/releases下載下傳對應版本的 release 包,直接解壓,不需要編譯
也可以百度雲盤下載下傳:https://pan.baidu.com/s/18AJUD25f6XLxk6RrGOBF5w 提取密碼:nfgg
5.1)下載下傳luna項目
(py3) [root@jumpserver-server coco]# cd /opt/
(py3) [root@jumpserver-server opt]# wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz
(py3) [root@jumpserver-server opt]# tar xvf luna.tar.gz
(py3) [root@jumpserver-server opt]# ls /opt/luna
5.2)安裝 Windows 支援元件。這一步是安裝Windows支援元件(如果不需要管理 windows 資産,可以直接跳過這一步)!
因為手動安裝 guacamole 元件比較複雜,這裡提供打包好的 docker 使用, 啟動 guacamole
Docker安裝 (僅針對CentOS7,CentOS6安裝Docker相對比較複雜)
解除安裝老版本的 docker 及其相關依賴
(py3) [root@jumpserver-server opt]# yum remove docker docker-common container-selinux docker-latest-logrotate docker-logrotate docker-selinux docker-engine
(py3) [root@jumpserver-server opt]# yum install -y yum-utils device-mapper-persistent-data lvm2
(py3) [root@jumpserver-server opt]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //這是國内的阿裡源,官方源為:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(py3) [root@jumpserver-server opt]# yum-config-manager --enable docker-ce-edge
(py3) [root@jumpserver-server opt]# yum-config-manager --enable docker-ce-test
(py3) [root@jumpserver-server opt]# yum install docker-ce
(py3) [root@jumpserver-server opt]# systemctl start docker
(py3) [root@jumpserver-server opt]# systemctl status docker
5.3)啟動 Guacamole(下面指令下載下傳時間可能有點長,取決于帶寬大小)。
這裡所需要注意的是 guacamole 暴露出來的端口是 8081,若與主機上其他端口沖突請自定義。
修改JUMPSERVER_SERVER環境變量的配置,填上Jumpserver 的内網位址, 啟動成功後去Jumpserver的web管理界面的"會話管理"-"終端管理"接受[Gua]開頭的一個注冊。
(py3) [root@jumpserver-server opt]# docker run --name jms_guacamole -d -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key
-e JUMPSERVER_KEY_DIR=/config/guacamole/key -e JUMPSERVER_SERVER=http://192.168.10.210:8080 registry.jumpserver.org/public/guacamole:1.0.0
(py3) [root@jumpserver-server opt]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.jumpserver.org/public/guacamole 1.0.0 6300349f2642 5 days ago 1.23GB
(py3) [root@jumpserver-server opt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1f06c49a790 registry.jumpserver.org/public/guacamole:1.0.0 "/init" 3 minutes ago Up 3 minutes 0.0.0.0:8081->8080/tcp jms_guacamole
6)配置 Nginx 整合各元件
6.1)安裝Nginx
(py3) [root@jumpserver-server ~]# yum -y install nginx
6.2)準備配置檔案修改/etc/nginx/conf.d/jumpserver.conf
(py3) [root@jumpserver-server ~]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
(py3) [root@jumpserver-server ~]# vim /etc/nginx/nginx.conf
user www;
worker_processes 8;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
events {
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
charset utf-8;
log_format main '$http_x_forwarded_for $remote_addr $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_cookie" $host $request_time';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
fastcgi_connect_timeout 3000;
fastcgi_send_timeout 3000;
fastcgi_read_timeout 3000;
fastcgi_buffer_size 256k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
client_header_timeout 600s;
client_body_timeout 600s;
client_max_body_size 100m;
client_body_buffer_size 256k;
## support more than 15 test environments<br> server_names_hash_max_size 512;<br> server_names_hash_bucket_size 128;<br>
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;
gzip_vary on;
include /etc/nginx/conf.d/*.conf;
}
(py3) [root@jumpserver-server ~]# useradd www
(py3) [root@jumpserver-server ~]# echo " * soft nofile 65535" >> /etc/security/limits.conf
(py3) [root@jumpserver-server ~]# echo " * hard nofile 65535" >> /etc/security/limits.conf
(py3) [root@jumpserver-server ~]# echo " * soft nproc 102400" >> /etc/security/limits.conf
(py3) [root@jumpserver-server ~]# echo " * hard nproc 102400" >> /etc/security/limits.conf
(py3) [root@jumpserver-server ~]# ulimit -SHn 65535
(py3) [root@jumpserver-server ~]# vim /etc/nginx/conf.d/jump.conf
server {
listen 80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /luna/ {
try_files $uri / /index.html;
alias /opt/luna/;
}
location /media/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/data/;
}
location /static/ {
root /opt/jumpserver/data/;
}
location /socket.io/ {
proxy_pass http://localhost:5000/socket.io/; #如果coco安裝在别的伺服器,請填寫它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /guacamole/ {
proxy_pass http://localhost:8081/; #如果guacamole安裝在别的伺服器,請填寫它的ip
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log off;
}
location / {
proxy_pass http://localhost:8080; #如果jumpserver安裝在别的伺服器,請填寫它的ip
}
}
6.3)運作Nginx
(py3) [root@jumpserver-server ~]# nginx -t
(py3) [root@jumpserver-server ~]# systemctl enable nginx
(py3) [root@jumpserver-server ~]# systemctl start nginx
(py3) [root@jumpserver-server ~]# systemctl status nginx
(py3) [root@jumpserver-server ~]# lsof -i:80
(py3) [root@jumpserver-server ~]# lsof -i:8080
(py3) [root@jumpserver-server ~]# lsof -i:8081
6.4)通路 http://192.168.10.210 //最終要起來的端口分别是:80、8080、8081、5000、2222
使用其他使用者(如wangshibo使用者)登入jumpserver,通過webshell登入機器:
可以直接使用建立的jumpserver使用者(比如wangshibo)及其密碼(這個即是jumpserver管理界面的登入密碼也是登入jumpserver終端的密碼)和2222端口 登入jumpserver堡壘機終端:
使用webshell登入堡壘機的一個軟肋就是不能直接使用rz、sz進行上傳和下載下傳操作,如果要想上傳和下載下傳檔案,比較簡單的方法就是:在添加的資源機器上統一建立一個臨時賬号,然後通過FileZilla或WinScp等工具将本機和linux直接進行檔案上傳和下載下傳:
[root@centos6-test09 ~]# mkdir /tmp/share
[root@centos6-test09 ~]# useradd share -d /tmp/share
[root@centos6-test09 ~]# cat /etc/passwd|grep share
share:x:503:503::/tmp/share:/bin/bash
[root@centos6-test09 ~]# echo "123456"|passwd --stdin share
[root@centos6-test09 ~]# chmod -R 4777 /tmp/share //設定t權限
[root@centos6-test09 ~]# ll -d /tmp/share
drwsrwxrwx. 2 root root 4096 Apr 1 06:21 /tmp/share
在終端裡登入jumpserver堡壘機,會顯示"*** 歡迎使用Jumpserver開源跳闆機系統",這一段辨別語可以自行修改,修改方法:
(py3) [root@jumpserver-server jumpserver]# cd /opt/
(py3) [root@jumpserver-server opt]# fgrep -R "歡迎使用Jumpserver開源跳闆機系統" ./*
./coco/coco/interactive.py: banner = _("""\n {title} {user}, 歡迎使用Jumpserver開源跳闆機系統 {end}\r\n\r
Binary file ./coco/coco/__pycache__/interactive.cpython-36.pyc matches
Binary file ./jumpserver/.git/objects/pack/pack-3c43bf16d0fa157a5c748ba6137c11af858d79d0.pack matches
Binary file ./jumpserver/apps/i18n/zh/LC_MESSAGES/django.mo matches
./jumpserver/apps/i18n/zh/LC_MESSAGES/django.po:msgstr "歡迎使用Jumpserver開源跳闆機系統"
(py3) [root@jumpserver-server opt]# ll /opt/coco/coco/interactive.py
-rw-r--r--. 1 root root 12357 Mar 31 13:52 /opt/coco/coco/interactive.py
即在/opt/coco/coco/interactive.py檔案裡修改。
===========================================================
7)Jumpserver堡壘機添加Windows客戶機資産的方法:
7.0)Windows主機需要提前做的操作
a)關閉防火牆(或者防火牆要運作rpd協定通過);
b)允許遠端桌面連接配接;
c)要保證在jumpserver部署機器上能telnet windows主機的3389端口
[root@jumpserver-server ~]# telnet 192.168.10.214 3389
Trying 192.168.10.214...
Connected to 192.168.10.214.
Escape character is '^]'.
7.1)建立 Windows 管理使用者
同 Linux 系統的管理使用者一樣,名稱可以按資産樹來命名,使用者名是管理者使用者名,密碼是管理者的密碼(這個管理使用者和密碼要能真正成功登入windows主機的)。
7.2)建立 Windows 系統使用者
由于目前 Windows 不支援自動推送,是以 Windows 的系統使用者設定成與管理使用者同一個使用者(交換機、Windows等裝置不支援 Ansible, 需手動填寫賬号密碼)。Windows 資産協定務必選擇 rdp,并且要去掉自動生成密鑰、自動推送勾選。
7.3)建立 Windows 資産
同建立 Linux 資産一樣。建立 Windows 資産,系統平台請選擇正确的 Windows,端口号為3389,IP 和 管理使用者請正确選擇,確定管理使用者能正确登入到指定的 IP 主機上。
7.4) Windows 資産建立授權規則
7.5)Windows 無法連接配接的問題及解決
a)如果白屏 可能是nginx配置檔案的guacamole設定的不對,也可能運作guacamole的docker容器有問題,總之請求到不了guacamole
b)如果顯示沒有權限 可能是你在 終端管理裡沒有接受 guacamole的注冊,請接受一下,如果還是不行,就删除剛才的注冊,重新開機guacamole的docker重新注冊
c)如果顯示未知問題 可能是你的資産填寫的端口不對,或者授權的系統使用者的協定不是rdp
d)提示無法連接配接伺服器,請聯系管理者或檢視日志 一般情況下是登入的系統賬戶不正确,可以從Windows的日志檢視資訊
e)提示網絡問題無法連接配接或者逾時,請檢查網絡連接配接并重試,或聯系管理者 一般情況下是防火牆設定不正确,可以從Windows的日志檢視資訊
==========================================================================================
在如上步驟添加windows主機資産後,在Web終端裡可以正常登入Linux主機,但是卻不能正常登入Windows主機,報錯如下:
産生的原因:在Jumpserver終端管理裡沒有成功接受guacamole的注冊,如下圖所示, guacamole注冊後顯示的是"不線上"狀态!!!
解決辦法:需要删除之前的guacamole注冊,然後重新開機guacamole的docker服務,并且重新注冊guacamole!必須保證guacamole注冊後是"線上"狀态!
(py3) [root@jumpserver-server conf.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
658b243e1106 registry.jumpserver.org/public/guacamole:1.0.0 "/init" 21 hours ago Up 21 hours 0.0.0.0:8081->8080/tcp jms_guacamole
(py3) [root@jumpserver-server conf.d]# docker rm -f `docker ps -a -q`
658b243e1106
(py3) [root@jumpserver-server conf.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(py3) [root@jumpserver-server conf.d]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(py3) [root@jumpserver-server conf.d]# lsof -i:8081
(py3) [root@jumpserver-server conf.d]#
(py3) [root@jumpserver-server conf.d]# docker run --name jms_guacamole -d -p 8081:8080 -v /opt/guacamole/key:/config/guacamole/key -e JUMPSERVER_KEY_DIR=/config/guacamole/key -e JUMPSERVER_SERVER=http://192.168.10.210:8080 registry.jumpserver.org/public/guacamole:1.0.0
e8b976408ef41c1ddafe8d8b9d968c4886136aab9d53d7c75fd218b2725f6b29
(py3) [root@jumpserver-server conf.d]# lsof -i:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 11785 root 4u IPv6 549583 0t0 TCP *:tproxy (LISTEN)
(py3) [root@jumpserver-server conf.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8b976408ef4 registry.jumpserver.org/public/guacamole:1.0.0 "/init" 8 seconds ago Up 6 seconds 0.0.0.0:8081->8080/tcp jms_guacamole
注冊guacamole的時候,名稱保持預設不變(即是以Gua開頭的預設名稱)!guacamole注冊成功後,過一會兒,就會發現已經是"線上"狀态了!
這樣使用建立的非管理使用者登入Jumpserver,從web終端裡就能成功登入Windows主機了!
*************** 當你發現自己的才華撐不起野心時,就請安靜下來學習吧!***************