apex / armor-sshkeys
SSH keys extension for Armor
Installs: 802
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:package
Requires
- php: >=8.0
- apex/armor: ^2.0
Requires (Dev)
- apex/signer: ^2.0
- phpunit/phpunit: ^9.5
README
An extension for the Armor package that provides functionality for management of public SSH keys.
Installation
Install via Composer with:
composer require apex/armor-sshkeys
Key Manager
One library is included, the Apex\Armor\SshKeys\KeyManager
class that contains the following methods:
- array generate(string $uuid, ?string $password = null, bool $save_privkey = false) - Generates a new 4096 bit RSA key, and encodes it to public SSH key. Returns array with two elements, "pubkey" and "privkey".
- void import(string $uuid, string $public_key)
- array getPublic(string $uuid) - Returns array of all public SSH keys assigned to uuid.
- ?string getPrivate(string $uuid, string $password) = Should be avoided, as you shouldn't be storing private keys.
- bool delete(string $uuid, string $public_key)
- int deleteUuid(string $uuid) - Returns number of keys deleted
Basic Usage
use Apex\Armor\Armor; use Apex\Armor\SshKeys\KeyManager; // Init Armor $armor = new Armor(); $manager = new KeyManager($armor); // Generate $res = $manager->generate('u:511'); echo "Pvi Key: $res[privkey]\n"; echo "Pub Key: $res[pubkey]\n";
Support
If you have any questions, issues or feedback, please feel free to drop a note on the ApexPl Reddit sub for a prompt and helpful response.
Follow Apex
Loads of good things coming in the near future including new quality open source packages, more advanced articles / tutorials that go over down to earth useful topics, et al. Stay informed by joining the mailing list on our web site, or follow along on Twitter at @mdizak1.