Git Product home page Git Product logo

Comments (5)

zhdenny avatar zhdenny commented on August 29, 2024 1

Yes, please. That would make me much happier.

Thank you sir!

from sshwifty.

nirui avatar nirui commented on August 29, 2024

Sorry, currently there is no way for Sshwifty to remember private credentials.

The function was implemented, but eventually removed because I've failed to found a way to safely save private credentials inside web browser (localStorage).

How about this: I'll change the input box (which is a HTML textarea currently) to a File selector, so you can directly select the private key file instead of having to manually re-enter it. Though, you still have to decrypt the key file before hand, and then select the decrypted key every single time when you try to login.

What do you think?

from sshwifty.

zhdenny avatar zhdenny commented on August 29, 2024

Random question...but does Guacamole save private credentials safely? If they do, wonder if you could adopt their approach.

from sshwifty.

nirui avatar nirui commented on August 29, 2024

I have no information about Guacamole because I don't use the software :(. But I'll look into it, thanks for the pointer.

For now:

I've added the feature described above (Change textarea to <input type="file" /> ).

In addition to that, credentials will now be saved in memory (in a JavaScript variable that is), so you only need to re-enter them once every time the webpage is reloaded.

It only works if you connect by clicking items of the "Known remotes" list. Otherwise you still have to re-enter everything.

Also, a reminder: You need to clear the page cache (By clicking the Refresh button of your web browser) to use the new client application.

from sshwifty.

nirui avatar nirui commented on August 29, 2024

@zhdenny Hey, uh just letting you know, I've looked Guacamole. Seems to me that they are saving the credential into database in plain-text. At least when MySQL is used as storage backend.

mysql> use guacamole_db;
Database changed
mysql> SELECT * FROM guacamole_connection;
+---------------+-----------------+-----------+----------+------------+----------------+-------------------------+-----------------+--------------------------+-------------------+---------------+
| connection_id | connection_name | parent_id | protocol | proxy_port | proxy_hostname | proxy_encryption_method | max_connections | max_connections_per_user | connection_weight | failover_only |
+---------------+-----------------+-----------+----------+------------+----------------+-------------------------+-----------------+--------------------------+-------------------+---------------+
|             1 | router          |      NULL | ssh      |       NULL | NULL           | NULL                    |            NULL |                     NULL |              NULL |             0 |
+---------------+-----------------+-----------+----------+------------+----------------+-------------------------+-----------------+--------------------------+-------------------+---------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM guacamole_connection_parameter;
+---------------+----------------+-----------------+
| connection_id | parameter_name | parameter_value |
+---------------+----------------+-----------------+
|             1 | enable-sftp    | true            |
|             1 | hostname       | <Masked>        |
|             1 | password       | router_password |
|             1 | port           | 22              |
|             1 | username       | root            |
+---------------+----------------+-----------------+
5 rows in set (0.01 sec)

mysql> 

It's not very ideal for us since Guacamole is been developed for a different purpose than Sshwifty. Also, we don't use storage backend (We're saving address book directly in the client web browser with window.localStorage).

from sshwifty.

Related Issues (20)

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.