If you are like me once you entered a Wi-fi password, literally 2 seconds after it's forgotten, so what happens when your colleague asks you for the password? Well it turns out it's quite easy to accomplish on OSX (as long as you have an administrator account, below you will find the required steps
Mainly Spring/Java and Java JEE tips and tutorials based on what i'm working on, usually (Spring, MongoDB, Spring boot, Big Data, Cassandra etc.) or what interests me. Occasionally some gadget tips.
OSX find and display saved wifi password
Glassfish changing master password and saving it to a file
Saving the master password when creating a domain is pretty straight forward just pass the --savemasterpassword flag when executing the create-domain command
${glassfish_install}/bin/asadmin create-domain --savemasterpassword mydomain
Enter admin user name [Enter to accept default "admin" / no password]> admin
Enter the admin password [Enter to accept default of no password]>
Enter the admin password again>
Enter the master password [Enter to accept default password "changeit"]>
Enter the master password again>
Default port 4848 for Admin is in use. Using 55187
Default port 8080 for HTTP Instance is in use. Using 55188
Default port 7676 for JMS is in use. Using 55189
Default port 3700 for IIOP is in use. Using 55190
Default port 8181 for HTTP_SSL is in use. Using 55191
Using default port 3820 for IIOP_SSL.
Using default port 3920 for IIOP_MUTUALAUTH.
Default port 8686 for JMX_ADMIN is in use. Using 55192
Using default port 6666 for OSGI_SHELL.
Using default port 9009 for JAVA_DEBUGGER.
Distinguished Name of the self-signed X.509 Server Certificate is:
[CN=mymachine,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]
Distinguished Name of the self-signed X.509 Server Certificate is:
[CN=mymachine,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]
No domain initializers found, bypassing customization step
Domain mydomain created.
Domain mydomain admin port is 55187.
Domain mydomain admin user is "admin".
Command create-domain executed successfully.
This will create a master-password file under
${glassfish_install}/glassfish/domains/mydomain/master-password
If you forgot to pass the --savemasterpassword flag when creating your domain you can still ask glassfish to generate this file for you by using the change-master-password command more info here
Just run the following command and enter the appropriate passwords when prompted. For this command to work the glassfish instance must be stopped
${glassfish_install}/bin/asadmin change-master-password --savemasterpassword
Enter the new master password>
Enter the new master password again>
Command change-master-password executed successfully.
Glassfish asadmin without password
If like me you hate having to type your user/password combination every-time that you run the asadmin utility command you have 2 options
- Creating a password file and then using the --user --passwordfile options everytime you execute an asadmin command (ugh...)
- Using the asadmin login command and never think about your password again
Here's how you could implement both solutions :
1.- Creating the password file
First you will need to create a file following the directives that can be found here
AS_ADMIN_MASTERPASSWORD=mypassword AS_ADMIN_USERPASSWORD=mypassword AS_ADMIN_ALIASPASSWORD=mypassword
${glassfish_install}/glassfish/bin/asadmin --user admin --passwordfile ${glassfish_install}/glassfish-password.txt list-applications mydomain
Now even though this works perfectly I find it a bit of a nag to have to write all this every-time I want to execute an asadmin command and sure I could write a bash script that wraps the underlying asadmin tool with the --user and --passwordfile options pre-generated but I just don't want to
2.- Using the asadmin login command
The one I prefer though is using the asadmin login command.
Basically what this command does is it prompts you for your glassfish credentials and then stores them in an encrypted file (.asadminpass) under the user's home folder
Here is how to use it :
${glassfish_install}/glassfish/bin/asadmin login
Enter admin user name [default: admin]> admin
Enter admin password>
Login information relevant to admin user name [admin]
for host [localhost] and admin port [4848] stored at
[/home/user/.asadminpass] successfully.
Make sure that this file remains protected.
Once this is done you will be able to execute asadmin commands without being prompted for a password
${glassfish_install}/glassfish/bin/asadmin list-applications
Nothing to list.
Command list-applications executed successfully.
You can even store remote glassfish instances password by using the --host flag with the login command
[arte@arte-epg-api2 .ssh]$ /data/glassfish/bin/asadmin login --host myremotehost.com Enter admin user name [default: admin]> admin Enter admin password> Login information relevant to admin user name [admin] for host [myremotehost.com] and admin port [4848] stored at [/home/user/.asadminpass] successfully. Make sure that this file remains protected.
OSX show used ports or listening applications with their PID
On OSX you can display applications listening on a given port using the lsof the commands described below will show listening application...
-
How to create a multi-hop ssh tunnel or how to chain multiple ssh tunnels. (or SSH inception) For security reasons sometimes you need to ju...
-
To give you some context recently while working on a new small project I needed to include a few Jasper Reports that where hosted in a Jas...
-
This is the second part of the Spring boot and spring data jpa tutorial - A sample application using spring 4.0 spring boot and JPA At th...

