GithubHelp home page GithubHelp logo

bastillion-io / bastillion Goto Github PK

View Code? Open in Web Editor NEW
3.1K 120.0 381.0 3.88 MB

Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys.

Home Page: https://www.bastillion.io

License: Other

Java 59.74% CSS 1.20% JavaScript 0.69% HTML 38.37%
ssh bastion-host java javascript web-app web-based ssh-client ssh-key ssh-server

bastillion's Introduction

Build CodeQL

Bastillion Bastillion

Bastillion is a web-based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys. Key management and administration is based on profiles assigned to defined users.

Administrators can login using two-factor authentication with Authy or Google Authenticator. From there they can manage their public SSH keys or connect to their systems through a web-shell. Commands can be shared across shells to make patching easier and eliminate redundant command execution.

Bastillion layers TLS/SSL on top of SSH and acts as a bastion host for administration. Protocols are stacked (TLS/SSL + SSH) so infrastructure cannot be exposed through tunneling / port forwarding. More details can be found in the following whitepaper: Implementing a Trusted Third-Party System for Secure Shell. Also, SSH key management is enabled by default to prevent unmanaged public keys and enforce best practices.

Terminals

Bastillion Releases

Bastillion is available for free use under the Prosperity Public License

https://github.com/bastillion-io/Bastillion/releases

or purchase from the AWS marketplace

https://aws.amazon.com/marketplace/pp/Loophole-LLC-Bastillion/B076PNFPCL

Also, Bastillion can be installed on FreeBSD via the FreeBSD ports system. To install via the binary package, simply run:

pkg install security/bastillion

Prerequisites

Open-JDK / Oracle-JDK - 1.9 or greater

apt-get install openjdk-9-jdk

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Install Authy or Google Authenticator to enable two-factor authentication with Android or iOS

Application Android iOS
Authy Google Play iTunes
Google Authenticator Google Play iTunes

To Run Bundled with Jetty

Download bastillion-jetty-vXX.XX.tar.gz

https://github.com/bastillion-io/Bastillion/releases

Export environment variables

for Linux/Unix/OSX

 export JAVA_HOME=/path/to/jdk
 export PATH=$JAVA_HOME/bin:$PATH

for Windows

 set JAVA_HOME=C:\path\to\jdk
 set PATH=%JAVA_HOME%\bin;%PATH%

Start Bastillion

for Linux/Unix/OSX

    ./startBastillion.sh

for Windows

    startBastillion.bat

More Documentation at: https://www.bastillion.io/docs/index.html

Build from Source

Install Maven 3 or greater

apt-get install maven

http://maven.apache.org

Export environment variables

export JAVA_HOME=/path/to/jdk
export M2_HOME=/path/to/maven
export PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH

In the directory that contains the pom.xml run

mvn package jetty:run

Note: Doing a mvn clean will delete the H2 DB and wipe out all the data.

Using Bastillion

Open browser to https://<whatever ip>:8443

Login with

username:admin
password:changeme

Note: When using the AMI instance, the password is defaulted to the <Instance ID>. Also, the AMI uses port 443 as in https://<Instance IP>:443

Managing SSH Keys

By default Bastillion will overwrite all values in the specified authorized_keys file for a system. You can disable key management by editing BastillionConfig.properties file and use Bastillion only as a bastion host. This file is located in the jetty/bastillion/WEB-INF/classes directory. (or the src/main/resources directory if building from source)

#set to false to disable key management. If false, the Bastillion public key will be appended to the authorized_keys file (instead of it being overwritten completely).
keyManagementEnabled=false

Also, the authorized_keys file is updated/refreshed periodically based on the relationships defined in the application. If key management is enabled the refresh interval can be specified in the BastillionConfig.properties file.

#authorized_keys refresh interval in minutes (no refresh for <=0)
authKeysRefreshInterval=120

By default Bastillion will generated and distribute the SSH keys managed by administrators while having them download the generated private. This forces admins to use strong passphrases for keys that are set on systems. The private key is only available for download once and is not stored on the application side. To disable and allow administrators to set any public key edit the BastillionConfig.properties.

#set to true to generate keys when added/managed by users and enforce strong passphrases set to false to allow users to set their own public key
forceUserKeyGeneration=false

Supplying a Custom SSH Key Pair

Bastillion generates its own public/private SSH key upon initial startup for use when registering systems. You can specify a custom SSH key pair in the BastillionConfig.properties file.

For example:

#set to true to regenerate and import SSH keys  --set to true
resetApplicationSSHKey=true

#SSH Key Type 'dsa' or 'rsa'
sshKeyType=rsa

#private key  --set pvt key
privateKey=/Users/kavanagh/.ssh/id_rsa

#public key  --set pub key
publicKey=/Users/kavanagh/.ssh/id_rsa.pub

#default passphrase  --leave blank if passphrase is empty
defaultSSHPassphrase=myPa$$w0rd

After startup and once the key has been registered it can then be removed from the system. The passphrase and the key paths will be removed from the configuration file.

Adjusting Database Settings

Database settings can be adjusted in the configuration properties.

#Database user
dbUser=bastillion
#Database password
dbPassword=p@$$w0rd!!
#Database JDBC driver
dbDriver=org.h2.Driver
#Connection URL to the DB
dbConnectionURL=jdbc:h2:keydb/bastillion;CIPHER=AES;

By default the datastore is set as embedded, but a remote H2 database can supported through adjusting the connection URL.

#Connection URL to the DB
dbConnectionURL=jdbc:h2:tcp://<host>:<port>/~/bastillion;CIPHER=AES;

External Authentication

External Authentication can be enabled through the BastillionConfig.properties.

For example:

#specify a external authentication module (ex: ldap-ol, ldap-ad).  Edit the jaas.conf to set connection details
jaasModule=ldap-ol

Connection details need to be set in the jaas.conf file

ldap-ol {
	com.sun.security.auth.module.LdapLoginModule SUFFICIENT
	userProvider="ldap://hostname:389/ou=example,dc=bastillion,dc=com"
	userFilter="(&(uid={USERNAME})(objectClass=inetOrgPerson))"
	authzIdentity="{cn}"
	useSSL=false
	debug=false;
};

Administrators will be added as they are authenticated and profiles of systems may be assigned by full-privileged users.

User LDAP roles can be mapped to profiles defined in Bastillion through the use of the org.eclipse.jetty.jaas.spi.LdapLoginModule.

ldap-ol-with-roles {
    //openldap auth with roles that can map to profiles
    org.eclipse.jetty.jaas.spi.LdapLoginModule required
    debug="false"
    useLdaps="false"
    contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
    hostname="<SERVER>"
    port="389"
    bindDn="<BIND-DN>"
    bindPassword="<BIND-DN PASSWORD>"
    authenticationMethod="simple"
    forceBindingLogin="true"
    userBaseDn="ou=users,dc=bastillion,dc=com"
    userRdnAttribute="uid"
    userIdAttribute="uid"
    userPasswordAttribute="userPassword"
    userObjectClass="inetOrgPerson"
    roleBaseDn="ou=groups,dc=bastillion,dc=com"
    roleNameAttribute="cn"
    roleMemberAttribute="member"
    roleObjectClass="groupOfNames";
};

Users will be added/removed from defined profiles as they login and when the role name matches the profile name.

Auditing

Auditing is disabled by default. Audit logs can be enabled through the log4j2.xml by uncommenting the io.bastillion.manage.util.SystemAudit and the audit-appender definitions.

https://github.com/bastillion-io/Bastillion/blob/master/src/main/resources/log4j2.xml#L19-L22

Auditing through the application is only a proof of concept. It can be enabled in the BastillionConfig.properties.

#enable audit  --set to true to enable
enableInternalAudit=true

Screenshots

Login

Two-Factor

More Terminals

Manage Systems

Manage Users

Define SSH Keys

Disable SSH Keys

Acknowledgments

Special thanks goes to these amazing projects which makes this (and other great projects) possible.

Third-party dependencies are mentioned in the 3rdPartyLicenses.md

The Prosperity Public License

Bastillion is available for use under the Prosperity Public License

Author

Loophole, LLC - Sean Kavanagh

bastillion's People

Contributors

andytime avatar atluxity avatar colandre avatar dependabot-preview[bot] avatar dependabot[bot] avatar elkfrawy-df avatar ic0xgkk avatar lucapalano avatar orthographic-pedant avatar pataquets avatar pyguy2 avatar skavanagh avatar stoertebekerhst avatar vpop avatar willgopublic avatar yharsh avatar zeng-qinghui 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bastillion's Issues

Tablet/Smartphone issue: Cannot type in the terminal window

I guess because the browser triggers the (soft) keyboard when focus goes to Form elements like input, textarea.
However, when the control is inside the terminal element, the keyboard isn't triggered.

This maybe a term.js limitation.
Also, I'm still trying to figure out how to send Ctrl+[key] combinations.

V1 keybox private key password

Hello,

Where would I find the password for the private key generated by keybox?

Is it in the database?

I need to be able to note it down in case of emergencies.

Thanks
John

Custom user keys not working

After my initial setup leveraging a custom key pair, I have been able to create new user keys within the application and have them propagated to the appropriate systems.

However, if I remove the custom key (used to start KeyBox) from the system/account’s authorized_key file the user is not able to connect the system. The secondary keys I created within the application for the user continues to exist in the system account authorized_key file, but the user is unable to connect from the UI. Is this intended functionality or do I potentially have something setup incorrectly?

API

Hello!

I've stumbled over your great tool which seems to perfectly fit my needs for a possible project.

It would be great if there would be an API to create users from another location and trigger actions like deploying keys. Will there be a chance to see an API implemented in the near future?

Keep up the good work!

Best regards

Let user upload their own public keys?

I would love to use KeyBox to distribute SSH keys to our servers.

However I don't like the fact that they still have to send their keys to the admins (me), then i'm going to assign it in KeyBox and then distribute to the servers.

Why not just let the admins assign the users to specific roles/servers, then let them upload their own key in their KeyBox account.

At the moment the (non-admin) KeyBox account is just to use web sessions, right?

Not sure if I am missing something, please let me know :)

Duplicate Session

I was thinking an awesome feature add would be some way to "duplicate" a session from within the composite terms screen.
Basically the "Duplicate Session" functionality from putty.
Either a button at the top of each shell window, or a drag and drop area like the disconnect option.
When that button is pressed or a shell is is dragged to that area, another shell to the same machine with the same credentials should be created as a new shell window. Having the ability to have multiple sessions open to the same machine is super useful when doing things like comparing configurations or maybe running an app in one and modifying files in another during development.

Per-system key management option.

Right now, it's possible to either keep key management enabled, or disable it completely.

It would be nice to have more granularity over the key management system, either by allowing a per-server configuration, or a profile-wide option.

Password Complexity does not meet all policies

Please make the password policy configurable. e.g. set what character types are have to be included, minimum length, forbidden words or parts (name, word list) ...

just for the background story. we moving away from complex passwords to easy to remember and even more secure ones.

https://xkcd.com/936/

SSH Fingerprints

As far as I see, KeyBox does not save and check SSH fingerprints.
This would be a really nice addition.

Terminals opened to same host instead of different hosts

Occasionally, when opening multiple terminals at the same time, instead of opening terminals to host 1, 2 and 3, there are 3 windows opened up, with the titles as expected (host 1, host2, host 3), but the terminals are actually all connected to host 1, as confirmed by the bash prompt and running hostname -i.

This problem is intermittent, so presumably some sort of timing issue.

Any idea what could be causing it? There were no errors in the output.

Upgrades to 2.0?

We are using v1.08.54 and was wondering what the upgrade process to 2.0 is?

I've tried just dumping the 2.0 download on top of our current install but that didn't work (I didn't really expect it too, so of course backed it up first!)

Font change?

Hi! I hope this is the correct format for a question? Is there any way to change the font used? Eg. Lucida Console (As used in Putty?)

T

Common Key Pair for All Accounts

First, I am new to KeyBox, so I may not be doing everything perfect just yet.

For my install I have started it using a custom key pair, which works fine. This key is present on existing systems and I am able to create the initial connections as expected.

Since password authentication is disabled on my systems it seems I am required to leverage the custom key pair I started KeyBox with for every system account I want to be able to connect to. Is there a way to provide a secondary key pair to enable this first connection?

For instance, when I setup the system it would be nice if I could also provide the appropriate keys to enable the initial connection to the host for the account being used. This assumes the public key is already on the host within the users authorized_keys file, but I can handle that in my automation.

Export logs

Hello,

This project looks very promising.

It would be almost perfect if it was possible to export logs to file (or an external DB), to be processed in another context (SIEM, Splunk, Logstash, etc.). Or even to write them directly to file.

Is that something planned ? Possible?

Thanks !

Regards,

Feature request: User / PW support for initial host setup

In some cases the keybox key is NOT the key we've used during provisioning. So I'd like to see an option to open the first time connection via username/password if no key has been applied to a host by keybox before.

I'd not offer this function for users at all. Keys are preferred. But it would help to set up the hosts for keybox use.

From a discussion with skavenagh:
"When you add a host it should prompt your for username and password if the key is not set. And you should be able to set a custom key for keybox to use by doing."

So I leave this open for discussion. - Thanks for additional ideas.

New user account creation

Hello,

This is almost exactly what we are looking for. Is it possible to have new 'unprivileged' user accounts created on the systems?

Adding private keys

Any plans to for this? I tend not to allow password access to systems, so authentication by RSA key pair would be a great feature

authorized_keys file with wrong permissions

If no authorized_keys file on the system, Keybox creates the authorized_keys file with wrong privileges in some distributions when a user is used without root privileges (if the password is used to access from keybox) .

$ ls -lt .ssh/authorized_keys
-rw-rw-r-- 1 caca caca 3610 18. Mai 15:51 .ssh/authorized_keys

SSH Logs (/var/log/secure)
May 18 15:57:54 popoch sshd[18943]: Authentication refused: bad ownership or modes for file /home/caca/.ssh/authorized_keys

The file permissions should be 600 (-rw-------). Keybox should force the use of the correct permissions

Add the ability for multiple users to collaborate on a session?

For training and support purposes, it would be ideal for 2 (or more) users to share a single shell session using KeyBox. I have often started on a similar project to implement said functionality, but never quite had the time to really get it done. Perhaps I could assist in developing that functionality for KeyBox?

Disable SSL/TLS?

Can SSL/TLS be disabled? Because my nginx already terminates SSL.

Where to determine version?

If you've installed using the tarball that bundles jetty, there doesn't appear to be any way to tell what version of keybox is running (for determining what needs to be done to upgrade to a new version, for example.)

If you are building from source, the pom file is available. But that doesn't exist in the bundle archive.

Space button is deleting characters on the terminal prompt

There is one issue related to space character. Pressing space is deleting character on the left of first user inserted space.

How to reproduce:

Let character '|' denotes current cursor position.

yharsh@github>Hi my name is harsh|
yharsh@github>Hi my na |me is harsh -----> First space is inserted between characters 'a' and 'm' of word "name"
Now position the cursor to the left of this space and press space. Say I position cursor next to 'n' and press space button. Now it will delete characters 'a' and ' ', 'm', 'e' and so on on consecutive press.
yharsh@github>Hi my n|a me is harsh ------> Cursor is next to 'n'.
Press space button
yharsh@github>Hi my n | me is harsh -------> Space character has overwritten character 'a'.
Press space button
yharsh@github>Hi my n |me is harsh -------> Space character has overwritten character ' '.
Press space button
yharsh@github>Hi my n e is harsh -------> Space character has overwritten character 'm'.

Any help/fix in this regards is much appreciated.

Thanks
Harsh Yadav

Home/End/PgUp/PgDown keys not mapped?

Hi,

When I'm in a terminal window and press Home or End, I'd expect to move to the start or end of the line, but instead I get a character "$" or "#" output - is it possible to have the Home and End keys work as a local terminal?

Page up and down also do something similar.

I've tried this using 2.82, and Firefox 31.6

Keyboard Layout

I've recognized that the German Keyboard Layout is not properly supported. Most keys work but not the keys that require German users to press AltGr + the Key: like: [,],@~} . I'm sure other keyboard layouts are effected too. But who is brave enough to try a french keyboard :-)

Any idea how this could be solved? Thank your Sean.

LDAP / 2.80.00

Hi,
I notice you've stared some work on LDAP support in the upcoming 2.80 release.
I had a requirement for this recently, and implemented a quick and crude crowbar to put LDAP support into KeyBox in a fork here:
https://github.com/peterbroadhurst/KeyBox
I'll be pleased to throw away my patched version in favour of 2.80 when it arrives, but I did want to pass on a couple of things about what I did in case it helps:

  • I chose instead of putting in an LDAP specific auth mechanism, to put in a JAAS auth mechanism and then simply configure the JAAS plugin provided in my JVM. This felt like the most extensible option, as other JAAS plugins (including custom) could be put in. The plugin in my case is com.ibm.security.auth.module.LdapLoginModule, but there's a LDAPLoginModule supplied with most/all flavours of JVM I believe.
  • In my use case, I need to be able to specify multiple LDAP servers for redundancy. For the JAAS plugin of my JVM, I can just space seaprate the URIs. Hopefully that could be factored into the official KeyBox solution (wasn't clear from the draft readme on the 2.80 ).
  • In my use case, I need to be able to specify which field fo the DN is substituted (UID, CN etc.). This is all catered for by the JAAS plugin, so hopefully it would also be in KeyBox (wasn't clear from the readme).

Add publickey with errors (FULL ACCESS account)

If you attempt to add a public key as full access user and fail with it (forgot to add the key name) the listbox for the profiles get's emptied making it impossible to select a profile other than All Systems.

KeyBoxConfig.properties

Would be nice to automatically handle "" in path names. Or at least a note that users shall use either "" or "/"

Thanks!

Auth Cancel

I just installed KeyBox (FirstTime)

When start adding systems with root user and I have given correct root password. KeyBox throws "Error: Auth cancel"

Please suggest me

  • Shanmu

keybox-auth-error

External Authentication

Feature Request: Would it be possible to add external authentication for user accounts e.g. ldap/AD so they can use the same combination as used elsewhere but the KeyBox specific stuff such as profiles and systems can remain in KeyBox?

Error: No such file

I am trying to login to systems via SSH from Keybox. I have one working and the rest are being problematic, yet I can't pinpoint the difference between them.

When creating a Composite SSH Terminal Session I am asked for the password which I enter correctly.
Keybox responds with an error "Error: No such file" followed by "No sessions could be created"

I can ssh from the console of my Keybox machine to the target SSH system using the same ssh username and password with no problems.

Looking at the /var/log/secure on the target system, I find the following lines after the login attempt.

May 27 13:25:09 www sshd[23555]: Accepted password for ausip from 10.110.110.30 port 44494 ssh2
May 27 13:25:10 www sshd[23555]: pam_unix(sshd:session): session opened for user ausip by (uid=0)
May 27 13:25:10 www sshd[23559]: subsystem request for sftp

Any ideas what i am doing wrong?

Thanks
Paul

Unable to mirgrate to 2.82 with/ MVStore db

my keybox version 2.76.00 is running with a keybox.mv.db file, now I can't upgrade it to latest version w/ keybox-upgrade tool.

Output of keybox-upgrade-2_80.jar:
Upgrade failed
org.h2.jdbc.JdbcSQLException: Table "USERS" not found; SQL statement:
alter table users add auth_type varchar not null default 'BASIC' [42102-174]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.command.Parser.readTableOrView(Parser.java:4900)
at org.h2.command.Parser.readTableOrView(Parser.java:4878)
at org.h2.command.Parser.parseAlterTable(Parser.java:4951)
at org.h2.command.Parser.parseAlter(Parser.java:4412)
at org.h2.command.Parser.parsePrepared(Parser.java:316)
at org.h2.command.Parser.parse(Parser.java:289)
at org.h2.command.Parser.parse(Parser.java:261)
at org.h2.command.Parser.prepareCommand(Parser.java:226)
at org.h2.engine.Session.prepareLocal(Session.java:437)
at org.h2.engine.Session.prepareCommand(Session.java:380)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:168)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
at Upgrade.main(Upgrade.java:33)

Output of keybox-upgrade-2_82.jar:
Upgrade failed
org.h2.jdbc.JdbcSQLException: Table "TERMINAL_LOG" not found; SQL statement:
alter table terminal_log add instance_id INTEGER [42102-174]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.command.Parser.readTableOrView(Parser.java:4900)
at org.h2.command.Parser.readTableOrView(Parser.java:4878)
at org.h2.command.Parser.parseAlterTable(Parser.java:4951)
at org.h2.command.Parser.parseAlter(Parser.java:4412)
at org.h2.command.Parser.parsePrepared(Parser.java:316)
at org.h2.command.Parser.parse(Parser.java:289)
at org.h2.command.Parser.parse(Parser.java:261)
at org.h2.command.Parser.prepareCommand(Parser.java:226)
at org.h2.engine.Session.prepareLocal(Session.java:437)
at org.h2.engine.Session.prepareCommand(Session.java:380)
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:168)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
at Upgrade.main(Upgrade.java:33)

Using a context path

Hi,

I use your app with the jetty package.
I add a context path in jetty/contexts/webapp.xml :
/term/

This is for a reverse proxy purpose.

It's working unless for 2 points for now :
In the terminal page, if exit, it's failing because it's sending me back to /manage/ instead of /term/manage/
Same in the terminal page for upload link

Is this set by some settings I failed to get or is it inside your app ?

Change terminal colors?

It would be nice to have dark backgrounds and light text. Or at least have that configurable according to taste. It also has a practical use. You could for instance have different colors depending on machines for production and development.

hi

hi~~
java.lang.NullPointerException
at com.keybox.manage.util.SSHUtil.authAndAddPubKey(SSHUtil.java:260)
.i`ve read the readme.md at the first time and i follow the documment to change my config..after i 'addSystem' ,this exception occured.
actually i dont know much about how the program work. so can you please show more details about how to addSystem...(can the keystore be empty?if not ,how does it generate? how to fill the path of the Authorized Keys ?)
By the way, my environment is jdk1.6. ,and the javax.websocket-api.jar has been added to the demo
any response will be greatly appreciated...

Yubi integration

Hey,

nice piece of software. Just asking if you planning integration with Yubi key for OTP instead od Authenticator.

brgds
kramer

"Settings" section not displayed for LDAP users

I have set up AD LDAP authentication for KeyBox, and it works for authentication. The problem is that the "Settings" area is not linked anywhere in the UI when I log in with an AD/LDAP user. When I create a "Basic" user and give them full access, the option is displayed.

Agent forwarding

It would be really handy to have the ability to turn on agent fowarding in keybox. Sometimes there's a need to ssh to a server, and from that server ssh to a third server. Use case: Customer server, which needs to rsync or scp tarballs from a support server.
With agent forwarding the intermediary server doesn't need to have any private keys on it.

It just occurred to me that if keybox ultimately invokes the system openssh, the agent forwarding option could be set in the ssh config. Then I'd just need to add keybox's key to the keybox user's agent and I'd be all set.

Start Keybox as service

Is it possible to start Keybox as a service, or automatically on startup?

I would like to have it start automatically, but still have access to the console. I tried the /etc/rc.d/rc.local file, but due to Jetty's active state, I never got to the console login state.

Thanks in advance.
Paul

Moving KeyBox installation to a new server

I'd like to move my Keybox installation from my Mac to a dedicated Linux server.

I was hoping to just tar up the folder and run it on the new server, but sadly that is erroring.

I can get keybox to run fine on the new server, and it runs without errors on my mac, I just can't seem to get my tar'ed version running.

What is the simplest process to move my existing data from one setup to another?

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.