huashengdun / webssh Goto Github PK
View Code? Open in Web Editor NEW:seedling: Web based ssh client
Home Page: https://webssh.huashengdun.org/
License: MIT License
:seedling: Web based ssh client
Home Page: https://webssh.huashengdun.org/
License: MIT License
最后说下,这个项目非常棒,目前已经用在生产环境。期待更多功能。
Hi,
I'm trying to implement this web shell to my flask website.
I have imported this project into mine.
When I execute the server all load correctly, after that I press the button SSH that call the ssh page (the index.html of this project) and I recive this error:
{% module xsrf_form_html() %}
TemplateSyntaxError: Encountered unknown tag 'module'.
That is refered to line 61 of index.html:
{% module xsrf_form_html() %}
<button type="submit" class="btn btn-primary">Connect</button>
<button type="reset" class="btn btn-danger">Reset</button>
</form>
Removing the {% module xsrf_form_html() %}
the page load correctly but nothing work about the ssh connection.
This is the code that call the page:
@app.route('/ssh_page', methods = ['POST', 'GET'])
def ssh_page():
return render_template(
'ssh_modal.html'
)
Someone know how to solve this please?
Thanks in advance.
I'm trying to add log audit features to this project. For example, I can log the operation commands of the end user and the screen recording function, but it has not been developed so far. Can you help us add these two functions to this project? thank you very much!
我下载下来的最新版本的xterm的js和css文件好像和大神你这里面的不一样
Request URL:http://118.25.33.81:8002/
Request Method:OPTIONS
Status Code:405 Method Not Allowed
Remote Address:118.25.33.81:8002
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Access-Control-Allow-Headers:*
Access-Control-Allow-Methods:POST, GET, OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1000
Content-Length:87
Content-Type:application/json
Date:Wed, 04 Apr 2018 06:38:00 GMT
Server:TornadoServer/5.0.1
Request Headers
view source
Accept:/
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.9
Access-Control-Request-Headers:x-csrftoken
Access-Control-Request-Method:POST
Connection:keep-alive
Host:118.25.33.81:8002
Origin:http://118.25.33.81:8001
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36
ajax请求总是405
hi,这个app通过ssh连接服务器,我这里有许多服务器,有的服务器没有开启ssh服务,只开启了telnet服务,能不能在app里增加连接只开启了telnet服务的机器的功能?感谢!
If no port is given by the user, use port 22.
Tried some things but without result, because I have very little experience with jqeury.
I ran the app on my localhost
13:24:45 : ~ $ wssh --address=0.0.0.0 --port=8080 --policy=reject
[I 180827 13:24:53 settings:68] RejectPolicy
[I 180827 13:24:53 main:32] Listening on 0.0.0.0:8080
[I 180827 13:24:57 handler:179] Connecting to 114.216.56.166:22
[I 180827 13:24:57 transport:1687] Connected (version 2.0, client OpenSSH_7.6p1)
[I 180827 13:24:58 transport:1687] Authentication (publickey) failed.
[I 180827 13:24:58 transport:1687] Authentication (password) successful!
[I 180827 13:24:59 web:2162] 200 POST / (127.0.0.1) 1986.78ms
[I 180827 13:24:59 web:2162] 101 GET /ws?id=140671325047312 (127.0.0.1) 0.95ms
[I 180827 13:24:59 handler:244] Connected from 127.0.0.1:34126
After putting in my public credentials my browser freezes at black screen
I tried seeing the output in the console in developer tools... I got this there, maybe it is helpful
main.js:106 The deault encoding of your server is en_IN
7main.js:219 Uncaught RangeError: Failed to construct 'TextDecoder': The encoding label provided ('en_IN') is invalid.
at FileReader.reader.onloadend (main.js:219)
main.js:239 CloseEvent
But it worked some a different ssh server
hello,
i followed your guide on quickstart, running behind nginx. i have a couple issues so far:
1.> when starting wssh command line reports error no host key found; started as per your readme example for running behind nginx. does this mean my host's ssh private key? i did create one (RSA) so I'm unsure what's going on here.
2.> when i browse to it in my browser, it seems to be missing its css. the page is missing any and all graphics / styling.
3.> when i attempt connecting to a host which requires key based auth, and watch the command line log output, it states connection successful but my browser view never goes to a shell session. and the log then reports connection dropped / worker recycled.
so what am i doing wrong? Thanks.
I'm trying to use the app without the login/connect/authentication page and have it just jump straight to the logged in terminal. I have imbedded it in a self hosted front end for my home automation system and it is only accessible over VPN so I'm not worried about sign on security. I thought the consol options might allow me to hardcode the connection expected by the front end but I can't seem to get it to work.
import webssh
webssh.connect()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'connect
Sorry, I'm not saying current webssh is not good. It's beautiful and powerful enough. I really like it especially in vim.
I have a selfish reason for asking this,I'm using ant design, now I have to use an iframe to nest webssh in my small project then adjust iframe height and handle cors problem.
I don't think using webssh via browser is a good idea, because we usually open too many tabs. We cannot use alt+tab to switch apps either. So many people use electron to pack web apps, Electron with React looks like more fashionable.React would be a better choice, because we're not good at css. It seems that React fetch is better than ajax. Please think about it.
in main.js line 373.
function connect_without_options() {
// use data from the form
var form = document.querySelector(form_id),
url = form.action,
data = new FormData(form),
pk = data.get('privatekey');
I'm writing a small tool supporting multi platform using webview.
I like your webssh, I really need this, please fix it.
I tried to fix, but I got "'_xsrf' argument missing from POST" after calling ajax_post
.
哥们儿加油。
There's an iframe in my local index.html,like this:
<iframe src="localhost:8888"></iframe>
I tried to add following code in both class IndexHandler and class WsockHandler:
def set_default_headers(self):
self.set_header("Access-Control-Allow-Origin", "*")
self.set_header("Access-Control-Allow-Headers", "x-requested-with")
self.set_header('Access-Control-Allow-Methods', 'GET, PUT, DELETE, OPTIONS')
self.set_header("Access-Control-Allow-Headers", "access-control-allow-origin,authorization,content-type")
but ajax_complete_callback still returned "XSRF cookie does not match POST argument".
Help me please.
[终端显示的内容不是全屏,内容底部距离黑色的终端还有一段高度没有填充
I'm curious if I can implement this in a way that will allow the use of a "token server" for handling authentication. I'm looking to have a web server that a user is authenticated against make the initial call to wssh to get the id for the connection. This information is then passed to the user's connection to establish the actual SSH session with the endpoint. Right now we can get this to work by setting the origin policy to primary and by having an inbound NAT mask all traffic to the wssh server as coming from the same IP. If we disable inbound NAT and allow the true client IP to pass to the wssh server, we can't connect.
If we do this in primary origin mode, we get a 403 on the GET call that passes the id to the server from the client connection.
If we do this with debug mode enabled and a wildcard in the origin, we get a websockets authentication error on the client connetion.
Can this be circumvented through the origin policy settings?
使用Nginx做的反代,打开页面却是403:Forbidden.
I login in https://webssh.huashengdun.org/.and I filled the form,The index page showed "Connection to 139.199.210.171:22 is not allowed"; do you know the reason.I had tried "telnet 139.199.210.171 22" is ok.
我所希望的使用方式:
在我的web页面中,提供一个按钮,点击后,使用下面的方式
window.open("http://wsship:port/api?hostname=xx&port=xx&username=xx&password=xxx")
参数最好使用post,最好使用某种方式加密。
不知能否支持上述需求,谢谢!
我有自己的管理平台,希望使用webssh的服务,但不需要webssh自带那个界面,因为我需要连接CMDB读取信息。
我尝试了几次,关闭了csrf保护以后再跨域连接websocket仍然会报403,使用webssh自带的web页面就没问题。
希望楼主指点一下,或是在以后的迭代里提供前后分离的解决方案。
日志
[I 190104 21:21:30 handler:301] Connecting to 192.168.47.101:22
[I 190104 21:21:30 transport:1746] Connected (version 2.0, client OpenSSH_7.4)
[I 190104 21:21:30 transport:1746] Authentication (publickey) failed.
[I 190104 21:21:30 transport:1746] Authentication (password) successful!
[I 190104 21:21:30 web:2162] 200 POST / (192.168.47.1) 248.86ms
[W 190104 21:21:30 web:2162] 403 GET /ws?id=140128766891728 (192.168.47.1) 1.60ms
[W 190104 21:21:33 worker:16] Recycling worker 140128766891728
[I 190104 21:21:33 worker:99] Closing worker 140128766891728 with reason: worker recycled
[I 190104 21:21:33 worker:106] Connection to 192.168.47.101:22 lost
Hi, 在登录到远程服务器后,如果不进行任何操作,web终端很快就会关闭(大约50s)。 请问如何可以使连接保持更长时间?
谢谢!
hey man,
just a quick information, maybe it's useful for someone else. I run an Apache https webserver as reverseproxy and had some difficulties with the connection upgrade to websockets - but now it's running correct with the following config:
activate needed apache modules:
a2enmod proxy proxy_http proxy_html proxy_wstunnel filter rewrite substitute
# webssh.conf
#
# https://mydomain.org/ssh
# Config for WebSSH Portal
##
<Location /ssh >
ProxyPass http://127.0.0.1:8888
ProxyPassReverse http://127.0.0.1:8888
# for websocket stuff
RewriteEngine On
RewriteCond %{HTTP:Upgrade} ^WebSocket$ [NC, OR]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC, OR]
RewriteRule .* ws://localhost:8888/ws$1 [P,L]
# rewrite response html to fix paths
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|static/js/|/ssh/static/js/|i"
Substitute "s|static/css/|/ssh/static/css/|i"
Substitute "s|static/img/|/ssh/static/img/|i"
</Location>
Also i created a systemd service to ensure webssh is running
vi /etc/systemd/system/webssh.service
with following content:
[Unit]
Description=Python WebSSH
After=syslog.target network.target
StartLimitBurst=5, StartLimitIntervalSec=10
[Service]
ExecStart=/path/to/webssh_env/bin/wssh --address=127.0.0.1 --origin=https://mydomain.org --port=8888 --log-file-prefix=/var/log/webssh.log
ExecReload=/bin/kill -HUP $MAINPID
Type=simple
PIDFile=/var/run/webssh.pid
Restart=on-failure
RestartSec=1
[Install]
WantedBy=multi-user.target
systemctl daemon-reload && systemctl enable webssh.service && systemctl start webssh.service
regards!
As the title says, I hope this project will be as easy as possible, or keep one of the simplest branches. Because that's what's needed most.
Thanks to the author.^^
main.js 第414行, } else if (port <= 0 || port > 63335) {
应该修改为 } else if (port <= 0 || port > 65535) {
i send vars (hostname,port,username,password) to WEBSSH by javascript ,webssh Authenticate successfully,but log said connection to hostname:port lost
test js send host info to WEBSSH
(u'172.16.1.9', '22', u'root', u'root', None)
[I 180326 22:03:42 main:208] Connecting to 172.16.1.9:22
[I 180326 22:03:42 transport:1687] Connected (version 2.0, client OpenSSH_6.6.1)
[I 180326 22:03:47 transport:1687] Authentication (password) successful!
[I 180326 22:03:47 web:2063] 200 POST / (172.16.200.6) 5151.64ms
[W 180326 22:03:48 web:2063] 404 GET /favicon.ico (172.16.200.6) 3.69ms
[I 180326 22:03:50 main:119] Connection to 172.16.1.9:22 lost
I want to access all the machines in the LAN through webssh, how to manage multiple machines through webssh? Thanks.
Have to input this value, otherwise it says "Missing value port".
(py3) [root@localhost webssh]# wssh
[I 190312 13:58:26 settings:98] WarningPolicy
[I 190312 13:58:26 main:39] Listening on 0.0.0.0:8888 (http)
[I 190312 13:58:28 web:2246] 200 GET / (192.168.0.105) 2.94ms
[W 190312 13:58:28 web:2246] 404 GET /static/css/bootstrap.min.css.map (192.168.0.105) 1.28ms
[W 190312 13:58:28 web:2246] 404 GET /static/css/fullscreen.min.css.map (192.168.0.105) 2.34ms
[W 190312 13:58:28 web:2246] 404 GET /static/js/popper.min.js.map (192.168.0.105) 2.21ms
[W 190312 13:58:28 web:2246] 404 GET /static/css/xterm.min.css.map (192.168.0.105) 2.30ms
[W 190312 13:58:28 web:2246] 404 GET /static/js/bootstrap.min.js.map (192.168.0.105) 1.09ms
[I 190312 13:58:28 web:2246] 200 GET /static/img/favicon.png (192.168.0.105) 1.28ms
[I 190312 13:58:32 handler:313] Connecting to 192.168.0.190:22
[I 190312 13:58:32 transport:1746] Connected (version 2.0, client OpenSSH_6.6.1)
/opt/py3/lib64/python3.6/site-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
/opt/py3/lib64/python3.6/site-packages/paramiko/kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
/opt/py3/lib64/python3.6/site-packages/paramiko/kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
/opt/py3/lib64/python3.6/site-packages/paramiko/client.py:822: UserWarning: Unknown ssh-ed25519 host key for 192.168.0.190: b'ac404accca871e5e0a69aed7b86f2f58'
key.get_name(), hostname, hexlify(key.get_fingerprint())
[I 190312 13:58:32 transport:1746] Authentication (password) successful!
[I 190312 13:58:32 web:2246] 200 POST / (192.168.0.105) 214.33ms
[I 190312 13:58:32 web:2246] 101 GET /ws?id=140052932837504 (192.168.0.105) 1.72ms
[I 190312 13:58:32 handler:393] Connected from 192.168.0.105:60283
[E 190312 13:58:32 web:1788] Uncaught exception GET /ws?id=140052932837504 (192.168.0.105)
HTTPServerRequest(protocol='http', host='192.168.0.180:8888', method='GET', uri='/ws?id=140052932837504', version='HTTP/1.1', remote_ip='192.168.0.105')
Traceback (most recent call last):
File "/opt/py3/lib64/python3.6/site-packages/tornado/websocket.py", line 952, in _accept_connection
open_result = handler.open(*handler.open_args, **handler.open_kwargs)
File "/opt/py3/lib64/python3.6/site-packages/webssh/handler.py", line 408, in open
self.set_nodelay(True)
File "/opt/py3/lib64/python3.6/site-packages/tornado/websocket.py", line 561, in set_nodelay
assert self.stream is not None
AssertionError
[W 190312 13:58:35 worker:16] Recycling worker 140052932837504
[I 190312 13:58:35 worker:99] Closing worker 140052932837504 with reason: worker recycled
[I 190312 13:58:35 worker:106] Connection to 192.168.0.190:22 lost
how to resize terminal window ?
I would like for chrome to remember my form fill information (along with the location of my key file) between sessions/tabs so that I can just click "connect" and with no further interaction by braught to the terminal. Is this somethign that can be added?
如标题。
如题,有些正常的日志tail也会立即中断,请问如何解决?
I use pip install webssh
and successfully installed the app.
But when I try to launch it with wssh
, it said -bash: wssh: command not found
I am running Debian 9 on Raspberry Pi
Using Python 2.7.13
Here are the installation logs:
Collecting webssh Using cached https://www.piwheels.org/simple/webssh/webssh-0.9.0-py2.py3-none-any.whl Collecting tornado>=4.5.0 (from webssh) Collecting paramiko>=2.3.1 (from webssh) Using cached https://files.pythonhosted.org/packages/cf/ae/94e70d49044ccc234bfdba20114fa947d7ba6eb68a2e452d89b920e62227/paramiko-2.4.2-py2.py3-none-any.whl Collecting singledispatch (from tornado>=4.5.0->webssh) Using cached https://files.pythonhosted.org/packages/c5/10/369f50bcd4621b263927b0a1519987a04383d4a98fb10438042ad410cf88/singledispatch-3.4.0.3-py2.py3-none-any.whl Collecting futures (from tornado>=4.5.0->webssh) Using cached https://files.pythonhosted.org/packages/2d/99/b2c4e9d5a30f6471e410a146232b4118e697fa3ffc06d6a65efde84debd0/futures-3.2.0-py2-none-any.whl Collecting backports-abc>=0.4 (from tornado>=4.5.0->webssh) Using cached https://files.pythonhosted.org/packages/7d/56/6f3ac1b816d0cd8994e83d0c4e55bc64567532f7dc543378bd87f81cebc7/backports_abc-0.5-py2.py3-none-any.whl Collecting pynacl>=1.0.1 (from paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/61/ab/2ac6dea8489fa713e2b4c6c5b549cc962dd4a842b5998d9e80cf8440b7cd/PyNaCl-1.3.0.tar.gz Collecting cryptography>=1.5 (from paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/69/ed/5e97b7f54237a9e4e6291b6e52173372b7fa45ca730d36ea90b790c0059a/cryptography-2.5.tar.gz Collecting bcrypt>=3.1.3 (from paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/ce/3a/3d540b9f5ee8d92ce757eebacf167b9deedb8e30aedec69a2a072b2399bb/bcrypt-3.1.6.tar.gz Collecting pyasn1>=0.1.7 (from paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/7b/7c/c9386b82a25115cccf1903441bba3cbadcfae7b678a20167347fa8ded34c/pyasn1-0.4.5-py2.py3-none-any.whl Collecting six (from singledispatch->tornado>=4.5.0->webssh) Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting cffi>=1.4.1 (from pynacl>=1.0.1->paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz Collecting asn1crypto>=0.21.0 (from cryptography>=1.5->paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl Collecting enum34 (from cryptography>=1.5->paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl Collecting ipaddress (from cryptography>=1.5->paramiko>=2.3.1->webssh) Using cached https://files.pythonhosted.org/packages/fc/d0/7fc3a811e011d4b388be48a0e381db8d990042df54aa4ef4599a31d39853/ipaddress-1.0.22-py2.py3-none-any.whl Collecting pycparser (from cffi>=1.4.1->pynacl>=1.0.1->paramiko>=2.3.1->webssh) Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.19-py2.py3-none-any.whl Building wheels for collected packages: pynacl, cryptography, bcrypt, cffi Running setup.py bdist_wheel for pynacl ... done Stored in directory: /home/pi/.cache/pip/wheels/c1/10/e7/66597ff71adf8cb7403527243c4b57c66a0d1dfdd8adf2eae4 Running setup.py bdist_wheel for cryptography ... done Stored in directory: /home/pi/.cache/pip/wheels/26/7e/a3/34cb4fe18a871618b1f0f957fe17e7fd30cd1092c6e657a077 Running setup.py bdist_wheel for bcrypt ... done Stored in directory: /home/pi/.cache/pip/wheels/6c/f0/60/8a8ebee44d14d3d6696f1e78960500777cb5b579caf33c1fe3 Running setup.py bdist_wheel for cffi ... done Stored in directory: /home/pi/.cache/pip/wheels/e6/9e/cd/9f0b900a715af094d5a08cc50230728c08ef745ffb195c67e8 Successfully built pynacl cryptography bcrypt cffi Installing collected packages: six, singledispatch, futures, backports-abc, tornado, pycparser, cffi, pynacl, asn1crypto, enum34, ipaddress, cryptography, bcrypt, pyasn1, paramiko, webssh Successfully installed asn1crypto-0.24.0 backports-abc-0.5 bcrypt-3.1.6 cffi-1.11.5 cryptography-2.5 enum34-1.1.6 futures-3.2.0 ipaddress-1.0.22 paramiko-2.4.2 pyasn1-0.4.5 pycparser-2.19 pynacl-1.3.0 singledispatch-3.4.0.3 six-1.12.0 tornado-5.1.1 webssh-0.9.0
开发运维平台,遇到webssh这个难题,如果可以嵌入,请问如何操作?万分感谢
例如:
111111111111111111app-xx-5876fd8bcf-xnwhk dddd]$ 11111111111111111111111111111
前面的1111111把主机名覆盖了,本来应该是这样的
[user@tes-bbbbb-app-xx-5876fd8bcf-xnwhk dddd]$ 11111111111111111111111111111
111111111111111111
First of all thanks, this app looks really cool, I am so excited to test it out. When i run the command wssh myhomeserver
i get this error. Here is the stack-trace.
File "/usr/local/bin/wssh", line 101, in <module>
client.invoke_shell(endpoint)
File "/usr/local/lib/python2.7/dist-packages/wssh/client.py", line 45, in invoke_shell
ssh = websocket.create_connection(endpoint)
AttributeError: 'module' object has no attribute 'create_connection'
@huashengdun ,这个应用,gbk编码的中文文件支持查看、处理吗?
I want to embed it on my platform,How to allow cross station post to submit data?
While I apply the certificate with the type of RSA, the python shows this Error information below:
File "/usr/lib/python2.7/site-packages/webssh/settings.py", line 116, in get_ssl_context ssl_ctx.load_cert_chain( options.certfile,options.keyfile) ssl.SSLError: [SSL] PEM lib (_ssl.c:2574)
But it can apply the ECDSA certificate and performs well.
[I 180701 11:09:08 main:33] Listening on 127.0.0.1:8888
[W 180701 11:13:11 web:2106] 404 GET /webssh (127.0.0.1) 1.25ms
[W 180701 11:13:40 web:2106] 404 GET /webssh (127.0.0.1) 0.60ms
[W 180701 11:13:45 web:2106] 404 GET /webssh (127.0.0.1) 0.82ms
[W 180701 11:14:03 web:2106] 404 GET /webssh (127.0.0.1) 0.65ms
nginx:
location /webssh {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_read_timeout 300;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
}
大神您好,我配置好了站点,在本地127.0.0.1:8888可以访问,那么我怎么设置非本地也可以通过 服务器IP(或者域名)加端口的方式访问这个页面呢?谢谢了
How to use Django channel implementation, thank you
I'm trying to set a new terminal session with other encode than the default encode, how can i set this option? There is any configuration file or a way to set parameters on wssh?
I use the redhat6.6 operating system, and when I enter the 'history' command at shell, the webssh closes the connection exceptions.
The log on the server side is 'Disconnected from 127.0.0.1:64875'
It seems normal to see if there is no support for certain commands.
@huashengdun ,hi,用这个app登录安装了AIX系统的小型机的时候,backspace键和delete键不能正常使用,左方向键<-可以删除,但删除后,再按字母a或者i才能继续输入,像是进入了vi模式。安装linux系统的x86没有这个问题。麻烦看看怎么回事,谢谢。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.