在 windows 下连接远程 Linux 可以使用 XShell ,或者 SecurityCRT ,当然 XShell 是相当不错的。
可是我们有时还是希望直接通过浏览器访问一台主机,那么社区里有哪些方案呢?
wssh,gateone 等等
wssh 是基于 paramiko 模块的,但是通过 paramiko 模块访问 vi , vim , nano 等软件会存在问题。
而 gateone 基本上已经满足了需要,效果是非常不错的。
下面就来部署一下,本部署是基于 ubuntu 的:
1. GateOne 的部署
首先下载 GateOne 的源码:
在 https://github.com/liftoff/GateOne/downloads 中 下载 gateone-1.1.tar.gz 。
直接下载地址为:https://github.com/downloads/liftoff/GateOne/gateone-1.1.tar.gz
tar -vxf gateone-1.1.tar.gz
cd GateOne
2. 依赖环境的搭建
sudo apt-get install python-pip
sudo apt-get install python-imaging
sudo pip install pyopenssl
sudo pip install ordereddict
# 目前 GateOne 貌似对 tornado 的版本敏感,所以选择此版本
sudo pip install tornado==2.4.1
# 确保在 GateOne 目录内,安装 GateOne
sudo python setup.py install
3. 修改配置文件
# 先执行一下 gateone.py,生成 server.conf 文件
cd /opt/gateone
./gateone.py
此时应该已经生成 server.conf 文件,修改下列重要项
# -*- coding: utf-8 -*-
locale = "en_US"
pam_service = "login"
syslog_facility = "daemon"
syslog_host = None
enable_unix_socket = False
port = 9000 # 端口
uid = "0"
url_prefix = "/"
user_dir = "/opt/gateone/users"
dtach = True
certificate = "certificate.pem"
log_to_stderr = False
session_logs_max_age = "30d"
gid = "0"
pid_file = "/var/run/gateone.pid"
sso_realm = None
cookie_secret = "YTNkZWFhODQyYmY5NDFiODk5MmUwMjQ0NzIxMjliMjIyN"
pam_realm = "ubuntu-host"
sso_service = "HTTP"
https_redirect = False
syslog_session_logging = False
disable_ssl = False
debug = False
session_dir = "/tmp/gateone"
auth = "none"
address = ""
api_timestamp_window = "30s"
log_file_num_backups = 10
logging = "info"
embedded = False
# 对应的 origin,这里用 ; 分隔,注意其中的地址,关系到后面的访问
origins = "
session_logging = True
unix_socket_path = "/var/run/gateone.sock"
...
4. 再次启动测试
cd /opt/gateone
./gateone.py
打开浏览器,访问 https://yourip:9000
会提示输入对应的用户名和密码。
5. 加入到 init.d,启动 GateOne
sudo /etc/init.d/gateone restart
* Stopping Gate One daemon gateone.py [ OK ]
* Starting Gate One daemon gateone.py [ OK ]
6. 截图
登陆时的情况
查看文件时,是具备多彩高亮的
在 GateOne 中使用 nano