Giter Club home page Giter Club logo

wssh's Introduction

wssh

wssh is a SSH to WebSockets Bridge that lets you invoke a remote shell using nothing but HTTP.

The client connecting to wssh doesn't need to speak the SSH protocol - rather, the SSH connection is terminated at the bridge level and the pty is wrapper through a thin layer of JSON and sent back to the client.

This means you can implement a WSSH client in just a few lines of code, even for a web browser.

Usage

Even though wssh primary purpose is to be used as a library in your applications, it ships with two command line tools: wsshd (the server) and wssh (the client).

$ wsshd 
wsshd/0.1.0 running on 0.0.0.0:5000
$ wssh aluzzardi@mba -p
Password: 
Last login: Mon Jul 23 23:20:27 2012 from localhost
aluzzardi@mba:~$ 

Web Interface

wsshd provides a web interface giving you access to a Javascript client

wssh: shell

wssh: vim

Creating your own server

wsshd is just a simple server implementation to demonstrate the wssh library.

You can actually integrate wssh into your own Python web application in order to provide terminal access. For instance, you may want to provide shell access to clients authenticated through OAuth to a special user account. The client doesn't need to know where the SSH server is located nor its credentials.

An example using the Flask framework is provided in examples/flask_server.py

Creating your own client

Beside the command line tool, wssh comes bundled with both a Python and a Javascript client library for the wssh bridge.

There are examples available in the examples/ directory for both languages.

You can write your own library in another language in just a few lines of code.

wssh's People

Contributors

alonbl avatar aluzzardi avatar bcicen avatar comfuture avatar dongweiming avatar francoaa avatar friparia avatar rand0m-cloud 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  avatar  avatar  avatar

wssh's Issues

Does it support keyboard-interactive?

Does it support Challenge-Response (keyboard-interactive authentication)?

I have gotten the following error:
Error: Bad authentication type
Connection Reset By Peer

Chrome shows blank after log in

I am using the latest Chrome and once I log in with my ssh credential, that web page is blank with only the WSSH title bar left on top of the page. And I tested with Firefox which works fine.

Is there a way to adjust the terminal size? Font size?

Thanks,

Henry

"not JSON serializable" with byte literals

Hi,

I was trying to use wssh (thanks to your awesome work) in my project and I found an issue with json.dump (target server is Ubuntu 16.04 LTS):

TypeError: b'Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.10.0-32-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com\r\n * Management: https://landscape.canonical.com\r\n * Support: https://ubuntu.com/advantage\r\n\r\n52 packages can be updated.\r\n2 updates are security updates.\r\n\r\nLast login: Thu Aug 24 14:17:06 2017 from xx.xx.xx.xx\r\r\n' is not JSON serializable Thu Aug 24 14:30:48 2017 <Greenlet at 0x7f75fab22930: <bound method Bridge.forward_outbound of <web_ssh.ssh_bridge.Bridge object at 0x7f76133be048>>(<paramiko.Channel 0 (closed) -> <paramiko.Transpor)> failed with TypeError

That the returned content from remote server is actually byte literals. So I add an if condition to method "forward_outbound()" to detect returned data's type, and everything just works fine after this:

    def forward_outbound(self, channel):
        try:
            while True:
                wait_read(channel.fileno())
                data = channel.recv(1024)
                if not len(data):
                    return
                if isinstance(data, bytes):
                    data = data.decode('utf-8')
                self.websocket.send(json.dumps({'data': data}))
        finally:
            self.close()

fixed VIM freezes & support UTF-8

thanks,aluzzardi.
sorry everyboy for my english.

diff --git a/wssh/server.py b/wssh/server.py
index 17a4965..b334477 100644
--- a/wssh/server.py
+++ b/wssh/server.py
@@ -118,19 +118,26 @@ class WSSHBridge(object):
                         data['resize'].get('width', 80),
                         data['resize'].get('height', 24))
                 if 'data' in data:
-                    channel.send(data['data'])
+                    channel.send(data['data'].encode('utf-8'))
         finally:
             self.close()

     def _forward_outbound(self, channel):
         """ Forward outbound traffic (ssh -> websockets) """
         try:
+            data = ''
             while True:
                 wait_read(channel.fileno())
-                data = channel.recv(1024)
-                if not len(data):
+                recv = channel.recv(1024)
+                if not len(recv):
                     return
-                self._websocket.send(json.dumps({'data': data}))
+                
+                data += recv
+                try:
+                    self._websocket.send(json.dumps({'data':data}))
+                    data = ''
+                except UnicodeDecodeError:
+                    pass
         finally:
             self.close()

diff --git a/wssh/static/term.js b/wssh/static/term.js
index 9489334..20883bf 100644
--- a/wssh/static/term.js
+++ b/wssh/static/term.js
@@ -129,9 +129,10 @@ function Terminal(cols, rows, handler) {

   this.cols = cols || Terminal.geometry[0];
   this.rows = rows || Terminal.geometry[1];
-
-  if (handler) {
-    this.on('data', handler);
+  this.handler = handler;
+  
+  if (this.handler) {
+    this.on('data', this.handler);
   }

   this.ybase = 0;
@@ -2432,7 +2433,7 @@ Terminal.prototype.reverseIndex = function() {

 // ESC c Full Reset (RIS).
 Terminal.prototype.reset = function() {
-  Terminal.call(this, this.cols, this.rows);
+  Terminal.call(this, this.cols, this.rows, this.handler);
   this.refresh(0, this.rows - 1);
 };

How Web socket are send from web browser.

Hi ,

Can anyone clarify below doubt:--

  1. How browser is creating web socket and sending it?
  2. How request.environ.get('wsgi.websocket') receive web socket?

If anyone can clarify it will be great help

HI,aluzzardi

When I run wsshd in the Terminal,it throw error

File "/usr/local/lib/python2.7/dist-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 65, in
from geventwebsocket import WebSocketHandler

ImportError: cannot import name WebSocketHandler

I view the page https://pypi.python.org/pypi/gevent-websocket/
I think the script wssd line 65 should change
from geventwebsocket import WebSocketHandler
to
from geventwebsocket.handler import WebSocketHandler

Error installing on Angular2

I'm trying to implement the SSH client on an Angular2 App.

I've added "wssh": "^0.1.0" to my package.json.

When I run npm install I get this error.

12 warnings and 14 errors generated.
make: *** [Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.3.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/john/workspace/clarity-seed/node_modules/wssh/node_modules/pty.js
gyp ERR! node -v v6.9.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
[email protected] /Users/john/workspace/clarity-seed
└─┬ [email protected]  (git://github.com/chjj/pty.js.git#fe63a412574f45ee6bb6d8fab4a5c102107b5201)
  ├── [email protected] 
  └── [email protected] 

npm ERR! Darwin 16.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the pty.js package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs pty.js
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls pty.js
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/john/workspace/clarity-seed/npm-debug.log

Unknown license

Hi aluzzardi

I just started a project based on your wssh implementation. But for now i stopped working on it because i noticed that i don't have a clue about the license of wssh. Would be very nice if you could take a license note on wssh.

Thanks
RedDog

the github can not access

<script type="application/javascript" src="{{url_for('static', filename='jquery.min.js}}}">
    </script>
    <script type="application/javascript" src="{{url_for('static', filename='term.js')}}">
    </script

Can not connect linux on browser

After start wssd on linux terminal,I connect the linux terminal on browser,but when I clikc the connect button on screen,the next screen shows:

Error: 'type' object is not iterable
Connection Reset By Peer

And the sshd server log on linux terminal shows:

ivanli@ubuntu:~$ wsshd
wsshd/0.1.0 running on 0.0.0.0:5000

DEBUG in wsshd [/usr/local/lib/python2.7/dist-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
127.0.0.1 -> ivanli@ubuntu: [interactive shell]

No handlers could be found for logger "paramiko.transport"

ERROR in wsshd [/usr/local/lib/python2.7/dist-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to ubuntu: 'type' object is not iterable

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/local/lib/python2.7/dist-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 392, in connect
t.start_client(timeout=timeout)
File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 545, in start_client
raise e
TypeError: 'type' object is not iterable

Please help me solve the problem, 3q~

vim freezes

Great work!

One issue I'm having is that the shell works fine, except as soon as I start vim, the terminal no longer responds. If I manually kill the vim process, the web client drops me back down to the shell prompt, but still no keyboard response.

I am testing this on localhost. I pip installed everything, ran wssdh, then connected to "localhost:5000". I'm running Ubuntu Precise, and using Google Chrome as the client browser. Are you aware of any issues with this setup?

How to implement paste function?

I find it cann't be paste for the terminal, so I wonder how to implement paste function, because it's very common for us to copy command in the ssh.

Chinese Support Abnormality

When text contains chinese charactor, wssh will shutdown with situation like blow.
The wssd logs show nothing, who can help me? thanks

log:
[root@paasm1 ~]# more /test/aaa.txt 关于大胜靠德卡和扩大后方可速度快发送会计法 发生发大水 发生的 房东说Connection Reset By Peer

[gevent] greenlet.error: cannot switch to a different thread with gevent(1.1b6)

I can run the wssh project with python2 and gevent-1.0.2.When I use python3 to run it, I modify some bugs in gevent_websocket.
This is the complete traceback in the debug mode and I haven’t passing parameters to paramiko.SSHClient:
qq20151123-7 2x
After I add parameters to SSHclient, it was broken in self.spawn(fun,args,*kwds).get():
qq20151123-2 2x
qq20151123-1 2x
qq20151123-3 2x
qq20151123-4 2x
qq20151123-5 2x
qq20151123-6 2x

TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

After start wssd on linux terminal,login linux by browser, and click the connect button, below appeared:

Error: from_buffer() cannot return the address of the raw string within a str or
unicode or bytearray object
Connection Reset By peer.

logs:

DEBUG in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
192.168.1.115 -> root@localhost: [interactive shell]


ERROR in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to localhost: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 608, in _auth
self._transport.auth_password(username, password)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1266, in auth_password
self.auth_handler.auth_password(username, password, my_event)
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 107, in auth_password
self._request_auth()
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 158, in _request_auth
self.transport._send_message(m)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1587, in _send_message
self.packetizer.send_message(data)
File "/usr/lib/python2.7/site-packages/paramiko/packet.py", line 360, in send_message
out = self.__block_engine_out.update(packet)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 149, in update
return self._ctx.update(data)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 120, in update
n = self.update_into(data, buf)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 131, in update_into
"unsigned char *", self._backend._ffi.from_buffer(buf)
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

DEBUG in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
192.168.1.115 -> [email protected]: [interactive shell]


ERROR in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to 127.0.0.1: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 608, in _auth
self._transport.auth_password(username, password)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1266, in auth_password
self.auth_handler.auth_password(username, password, my_event)
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 107, in auth_password
self._request_auth()
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 158, in _request_auth
self.transport._send_message(m)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1587, in _send_message
self.packetizer.send_message(data)
File "/usr/lib/python2.7/site-packages/paramiko/packet.py", line 360, in send_message
out = self.__block_engine_out.update(packet)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 149, in update
return self._ctx.update(data)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 120, in update
n = self.update_into(data, buf)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 131, in update_into
"unsigned char *", self._backend._ffi.from_buffer(buf)
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

DEBUG in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
192.168.1.115 -> aaronwtl@localhost: [interactive shell]


ERROR in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to localhost: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 608, in _auth
self._transport.auth_password(username, password)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1266, in auth_password
self.auth_handler.auth_password(username, password, my_event)
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 107, in auth_password
self._request_auth()
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 158, in _request_auth
self.transport._send_message(m)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1587, in _send_message
self.packetizer.send_message(data)
File "/usr/lib/python2.7/site-packages/paramiko/packet.py", line 360, in send_message
out = self.__block_engine_out.update(packet)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 149, in update
return self._ctx.update(data)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 120, in update
n = self.update_into(data, buf)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 131, in update_into
"unsigned char *", self._backend._ffi.from_buffer(buf)
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

DEBUG in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
192.168.1.115 -> aaronwtl@localhost: [interactive shell]


ERROR in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to localhost: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 608, in _auth
self._transport.auth_password(username, password)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1266, in auth_password
self.auth_handler.auth_password(username, password, my_event)
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 107, in auth_password
self._request_auth()
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 158, in _request_auth
self.transport._send_message(m)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1587, in _send_message
self.packetizer.send_message(data)
File "/usr/lib/python2.7/site-packages/paramiko/packet.py", line 360, in send_message
out = self.__block_engine_out.update(packet)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 149, in update
return self._ctx.update(data)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 120, in update
n = self.update_into(data, buf)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 131, in update_into
"unsigned char *", self._backend._ffi.from_buffer(buf)
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object
^CKeyboardInterrupt
Sun Jan 28 10:07:37 2018
[root@localhost wssh]# wsshd
wsshd/0.1.0 running on 0.0.0.0:5000

DEBUG in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:27]:
192.168.1.115 -> aaronwtl@localhost: [interactive shell]


ERROR in wsshd [/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd:47]:
Error while connecting to localhost: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/EGG-INFO/scripts/wsshd", line 44, in connect
allow_agent=app.config.get('WSSH_ALLOW_SSH_AGENT', False))
File "/usr/lib/python2.7/site-packages/wssh-0.1.0-py2.7.egg/wssh/server.py", line 98, in open
look_for_keys=False)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 380, in connect
look_for_keys, gss_auth, gss_kex, gss_deleg_creds, gss_host)
File "/usr/lib/python2.7/site-packages/paramiko/client.py", line 608, in _auth
self._transport.auth_password(username, password)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1266, in auth_password
self.auth_handler.auth_password(username, password, my_event)
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 107, in auth_password
self._request_auth()
File "/usr/lib/python2.7/site-packages/paramiko/auth_handler.py", line 158, in _request_auth
self.transport._send_message(m)
File "/usr/lib/python2.7/site-packages/paramiko/transport.py", line 1587, in _send_message
self.packetizer.send_message(data)
File "/usr/lib/python2.7/site-packages/paramiko/packet.py", line 360, in send_message
out = self.__block_engine_out.update(packet)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 149, in update
return self._ctx.update(data)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 120, in update
n = self.update_into(data, buf)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 131, in update_into
"unsigned char *", self._backend._ffi.from_buffer(buf)
TypeError: from_buffer() cannot return the address of the raw string within a str or unicode or bytearray object

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.