Code Monkey home page Code Monkey logo

webssh's People

Contributors

bhubr avatar cclauss avatar fakeyw avatar huashengdun avatar joshua5201 avatar klarose avatar marcoduiker avatar minerobber9000 avatar pofilo avatar rilango avatar rlucia avatar svengo avatar treydempsey avatar tuxhamb avatar webparameter avatar yc5 avatar zotil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webssh's Issues

提几个问题-重度用户

  1. 窗口支持自动伸缩,虽然js里面有自动伸缩,但是每次都取不到term的宽、高。导致每次都需要手动拉动窗口才会生效。猜测问题所在,js加载完毕,但是css可能还没下完,导致没取到。
  2. vim等还是小窗口问题,虽然整个网页能伸缩,但是chan内部还是col 80,line 24,所以top、ps、vim其实都是小窗口。建议窗口变动之后,能动态调用self.chan.resize_pty....
  3. 编码问题,这个问题真的很明显,tail -f 日志,一个很正常的日志文件,经常性的断开。经过改编码之后,目前稳定了。

最后说下,这个项目非常棒,目前已经用在生产环境。期待更多功能。

Encountered unknown tag 'module'

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.

Password stored in plain text

Form details are saved in local storage. I think it is unusual to save password in this way, probably better to let the browser do it and just remember the hostname, port and username.

image

Please help me

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!

Status Code:405 Method Not Allowed

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

the app stops responding

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
screenshot from 2018-08-27 13-26-55

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

running behind nginx on ubuntu 18.04 / several issues on initial start

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.

Can't seem to start the console actions to work

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

Will you consider replacing bootstrap&jquery with react?

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.

safari not support FormData.get

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.
哥们儿加油。

how to enable cross origin completely?

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.

Utilization of a token server

@huashengdun

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?

页面403

使用Nginx做的反代,打开页面却是403:Forbidden.

如何解决跨域问题?

我有自己的管理平台,希望使用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

deployment within apache as reverse proxy

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!

I hope the project as easily as possible

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.^^

log said: Connection lost

i send vars (hostname,port,username,password) to WEBSSH by javascript ,webssh Authenticate successfully,but log said connection to hostname:port lost

js button:

test js send host info to WEBSSH


Log:

(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

pip安装成功但是登陆报错,环境是python3.6的虚拟环境中

(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

Will you consider implementing session persistence

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?

Successfully installed but command not found

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

top命令在xterm显示不正常

您好,我现在遇到一个Linux top命令的问题
如图,我执行top命令 一开始是固定
116281554779502_ pic
然后过一会儿或者进程比较多xterm样式就飞了
image
请问这种情况有解决办法吗?

主机名很长的情况下,命令稍微长不会换行

例如:
111111111111111111app-xx-5876fd8bcf-xnwhk dddd]$ 11111111111111111111111111111

前面的1111111把主机名覆盖了,本来应该是这样的
[user@tes-bbbbb-app-xx-5876fd8bcf-xnwhk dddd]$ 11111111111111111111111111111
111111111111111111

Unable to start webserver

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'

Type of certificate

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.

??404??

[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;
	}

help

How to use Django channel implementation, thank you

I need some help with terminal encodings

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?

redhat system webssh input 'history' except Disconnected shell

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.