Sep
6
Using the hsxkpasswd
Terminal Command (Part 2 of 2)
Filed Under System Administration, My Projects, Security, Computers & Tech on September 6, 2015 | 5 Comments
This is the second part of a two-part post – read part 1 here.
In part 1 we learned how to use the command line too hsxkpasswd
to generate passwords, and how to use various flags to specify custom password generation configurations, and word sources. In this second part we’ll look at how to save these customisations for future use with .hsxkpasswdrc
files.
Aug
22
Using the hsxkpasswd
Terminal Command (Part 1 of 2)
Filed Under System Administration, My Projects, Security, Computers & Tech on August 22, 2015 | 8 Comments
Since version 3.5, the Crypt::HSXKPasswd
password generating perl module ships with a command line interface to the password generator called hsxkpasswd
. This provides a way for non-Perl programers to access the vast majority of the module’s functionality.
The easiest way to install the module, and it’s accompanying terminal command is via CPAN:
sudo cpan Crypt::HSXKPasswd
Once the module is installed, you’ll have access to the hsxkpasswd
terminal command.
Getting started is simple, run the command with no arguments at all and it will generate one password using the default settings:
bart-iMac2013:~ bart$ hsxkpasswd @@26.MEASURE.below.LIFT.95@@ bart-iMac2013:~ bart$
If you want more passwords, pass a number as an argument, and you’ll get that many passwords:
bart-iMac2013:~ bart$ hsxkpasswd 10 ~~08!hole!VOWEL!then!45~~ $$49^monday^YELLOW^remember^22$$ //69-express-MONDAY-edge-54// --42~KITCHEN~save~COLD~40-- ==51%REPLY%even%AUGUST%28== %%63&list&INSIDE&train&58%% ^^19!spain!CONGO!spain!01^^ ::30@SMILED@from@PERIOD@90:: &&05%decimal%THREE%remember%80&& ..47^ROAD^dress^BERLIN^11.. bart-iMac2013:~ bart$
Aug
11
Crypt::HSXKPasswd
and hsxkpasswd
now on CPAN
Filed Under Computers & Tech, My Projects, Security, Software Development on August 11, 2015 | 1 Comment
The latest stable release of both the Crypt::HSXKPasswd
perl module, and the hsxkpassd
terminal command are now available through CPAN: http://search.cpan.org/perldoc?Crypt%3A%3AHSXKPasswd
The library and terminal command are bundled together, and can be installed onto Unix/Linux/Mac OS X computers in the standard CPAN way:
sudo cpan Crypt::HSXKPasswd
When this install finishes, both the terminal command and perl module will be available for use on the system, along with the documentation for both:
man hsxkpasswd perldoc Crypt::HSXKPasswd
Even though I’ve put a lot of time an effort into creating these tools, I’ve chosen to released them entirely free of charge, and with a very liberal open-source license (BSD). If you find either the terminal command or Perl module useful, please consider making a donation below to help cover my time and costs.
If you find a bug, would like to suggest a change or improvement, or would like to contribute code to the project, please use the project’s GitHub page.
Jul
19
Announcing Crypt::HSXKPasswd
Beta 4
Filed Under Security, Software Development, Computers & Tech on July 19, 2015 | Leave a Comment
Another week, another beta release of Crypt::HSXKPasswd
. The fact that the betas are now coming quick and fast is indeed a sign that this code is getting very close to ready for a full release.
This latest series of changes came about because when I started work on a tutorial for using the command line app I realised some changes were needed to give a better user experience.
The headline changes are that you can now specify a dictionary file rather than a dictionary package name if you prefer, you can now specify arguments for the dictionary and RNG packages, and the file format for hsxkpasswdrc
files has been updated to match these changes.
Finally, I’m still looking for help in the following areas:
- Native German, French, Italian, Spanish, Dutch, and Portuguese speakers to sanitise the dictionary files for those languages, leaving only a few thousand common words – these dictionary files are simply too big at the moment, and they must be full of really obscure words to be this large!
- People who are good at technical writing to help me give the documentation some spit and polish. I think all the relevant information is there, and I have run it all though a spell checker, but it could definitely do with some TLC from a copy editor!
Oh, and finally finally, if you find this module useful, please consider donating with the button below – I have literally put hundreds of hours into this code in the last few months, and given it all away for free.
*Download Beta 4 of Crypt::HSXKPasswd
via GitHub*
Jul
13
Announcing Crypt::HSXKPasswd
Beta 3
Filed Under Security, Software Development, Computers & Tech on July 13, 2015 | Leave a Comment
I’ve just released what I hope will be the last beta release before the first stable release of Crypt::HSXKPasswd
. This release has some bug fixes, but is mostly focused on improvements, especially to the new command line interface.
Initially I had planned to make the previous beta the last one before the first stable release, but then I realised that the command line interface really does need support for a configuration file before it’s ready for prime-time, so this beta is focused around the addition of what I am calling hsxkpasswdrc
files.
hsxkpasswdrc
files allow custom presets to be stored for re-use, and for defaults to be set for many of the command line options, making it much easier to customise the command line interface’s behaviour.
By default the command line interface now looks for a hsxkpasswdrc
file at ~/.hsxkpasswdrc
. You can specify a different path with the new --rcfile
option, and you can use the new --test-rcfile
option to help you debug your hsxkpasswdrc
files.
If you have an interest in this module, please install the beta and report any problems you find by opening issues on the project’s GitHub page. Or better still if you’re a developer, fixing the bug and sending me a pull request 🙂
Finally, I’m still looking for help in the following areas:
- Native German, French, Italian, Spanish, Dutch, and Portuguese speakers to sanitise the dictionary files for those languages, leaving only a few thousand common words – these dictionary files are simply too big at the moment, and they must be full of really obscure words to be this large!
- People who are good at technical writing to help me give the documentation some spit and polish. I think all the relevant information is there, and I have run it all though a spell checker, but it could definitely do with some TLC from a copy editor!
Oh, and finally finally, if you find this module useful, please consider donating with the button below – I have literally put hundreds of hours into this code in the last few months, and given it all away for free.
*Download Beta 3 of Crypt::HSXKPasswd
via GitHub*
Jul
5
TTT Part 35 of n – HTTP Commands
Filed Under System Administration, Computers & Tech on July 5, 2015 | 6 Comments
The previous instalment we introduced the HTTP protocol. In this instalment we’ll look at three terminal commands which make use of the HTTP protocol.
We’ll start by browsing from the terminal, and then move on to a pair of very similar commands for making HTTP requests from the terminal. These two commands can do many things, but we’ll focus on two specific use-cases, downloading files, and viewing HTTP headers.
Jun
8
Announcing Crypt::HSXKPasswd
Beta 2 – now with more command-line!
Filed Under Security, Software Development, Computers & Tech on June 8, 2015 | Leave a Comment
Last night I released what I hope will be the last beta release Crypt::HSXKPasswd
before the first release to CPAN. You can download it from the project’s GitHub page (reminder, you can get installation instructions for the beta releases here).
The head-line change is the addition of a bundled command line app, bringing all the power of Crypt::HSXKPasswd
to the terminal, shell scripts, and indeed programs and scripts written in any language with the ability to shell out.
In terms of lines of code the biggest change is a complete re-write of all data validation code. The project now contains a custom type library which exactly defines what it means to be a word, letter, symbol, symbol alphabet etc.. This has made the code much more robust, and has make it a lot easier to write consistent documentation. The type library is written using Type::Tiny
, and all the custom type definitions contain customised validation error message functions to give users much more helpful feedback.
With the help of Allison Sheridan from the NosillaCast Mac Podcast, the warnings and error messages issued by the module have also become a lot more human-friendly.
The test suite has also been greatly expanded, making it easier to find and fix bugs going forward.
If you have an interest in this module, please install the beta and report any problems you find by opening issues on the project’s GitHub page. Or better still if you’re a developer, fixing the bug and sending me a pull request 🙂
Finally, I’m looking for help in the following areas:
- Native German, French, Italian, Spanish, Dutch, and Portuguese speakers to sanitise the dictionary files for those languages, leaving only a few thousand common words – these dictionary files are simply too big at the moment, and they must be full of really obscure words to be this large!
- People who are good at technical writing to help me give the documentation some spit and polish. I think all the relevant information is there, and I have run it all though a spell checker, but it could definitely do with some TLC from a copy editor!
Oh, and finally finally, if you find this module useful, please consider donating with the button below – I have literally put hundreds of hours into this code in the last few months, and given it all away for free.
*Download Beta 2 of Crypt::HSXKPasswd
via GitHub*
Apr
25
TTT Part 33 of n – SSH ‘Bookmarks’
Filed Under System Administration, Security, Computers & Tech on April 25, 2015 | 3 Comments
This is the final SSH instalment. So far we’ve learned how to securely execute terminal commands on remote computers, how to securely copy files across the network using SSH, how to add both security and convenience to both those operations with SSH key pairs, and how to tunnel just about anything through SSH. In this final instalment we’ll look two approaches for creating SSH bookmarks, SSH config files, and SSH GUIs.
Apr
6
TTT Part 32 of n – SSH Tunnelling
Filed Under Computers & Tech, System Administration, Security on April 6, 2015 | 3 Comments
This is the fourth SSH instalment. So far we’ve learned how to securely execute terminal commands on remote computers, how to securely copy files across the network using SSH, and how to add both security and convenience to both those operations with SSH key pairs.
As we saw in the previous instalment, SSH’s ability to provide a secure connection between two computers can be used in many different ways. In this instalment we’ll learn about three more ways to encapsulate other network traffic within an SSH connection, adding encryption to that traffic.
Running commands and copying files are the kinds of things most people do, so the three SSH instalments to date have been quite generally applicable. That is not the case for this instalment. The three SSH features we’ll be discussing are all very useful to those who need them, but only a minority will have a use for any one of these features. However, even if you don’t need these features today, I would argue that it’s good to know these features exist, because they could well solve a problem you’ll have in the future.
There will be illustrations of the uses for these technologies, but not commands you type into your terminal to play along at home. That makes this an unusual instalment, but I hope you will still find it worthwhile.
Apr
4
TTT Part 31 of n – SSH File Transfers
Filed Under System Administration, Computers & Tech on April 4, 2015 | 5 Comments
In Part 29 of n we learned how to use SSH to execute commands on a remote computer. In the previous instalment we learned how to add security and convenience to SSH connections using SSH key-pairs.
The most important thing SSH provides is an encrypted connection between two computers. As we’ve seen, that encrypted connection can be used to securely issue terminal commands to a remote computer, but that same secured channel can also be used to secure other network connections between computers. In this instalment we’ll look at three different ways of securely copying files between computers through an SSH connection, and in the next instalment we’ll look at tunnelling just about any network connection through an SSH connection.