details); $details = hesc($event->details); switch($json->action) { case 'Server add': $details = 'Added server to key management'; break; case 'Group add': $details = 'Created group'; break; case 'Account add': $details = 'Added account '.hesc($json->value); break; case 'Account remove': // Legacy event type $details = 'Removed account '.hesc($json->value); break; case 'Access request': $details = 'Requested access for '.show_event_participant($json->value); break; case 'Access approve': $details = 'Approved access for '.show_event_participant($json->value); break; case 'Access reject': $details = 'Rejected access for '.show_event_participant($json->value); break; case 'Access add': $details = 'Added access for '.show_event_participant($json->value); break; case 'Access remove': $details = 'Removed access for '.show_event_participant($json->value); break; case 'Administrator add': $details = 'Added administrator '.show_event_participant($json->value); break; case 'Administrator remove': $details = 'Removed administrator '.show_event_participant($json->value); break; case 'Member add': $details = 'Added member '.show_event_participant($json->value); break; case 'Member remove': $details = 'Removed member '.show_event_participant($json->value); break; case 'Pubkey add': $details = 'Added public key '.hesc($json->value); break; case 'Pubkey remove': $details = 'Removed public key '.hesc($json->value); break; case 'Setting update': $details = hesc($json->field).' changed from '.hesc($json->oldvalue).' to '.hesc($json->value).''; break; case 'Sync status change': $details = 'Sync status: '.hesc($json->value); break; } ?> server->hostname) ?> user->uid) ?> account->name.'@'.$event->account->server->hostname) ?> group->name) ?> actor->uid) ?> date) ?> '.hesc($name).''; } elseif($type == 'account') { list($account, $server) = explode('@', $name, 2); return ''.hesc($name).''; } elseif($type == 'group') { return ''.hesc($name).''; } else { return hesc($participant); } } function keygen_help($box_position) { ?>

On Windows you will typically use the PuTTYgen application to generate your key pair.

  1. Download and run the latest Windows installer from the PuTTY download page.
  2. Start PuTTYgen.
  3. Select the type of key to generate. RSA, ECDSA or ED25519 are good choices.
  4. For RSA, enter "4096" as the number of bits in the generated key. For ECDSA, use either the nistp384 or nistp521 curve.
  5. Click the Generate button.
  6. Provide a comment for the key: it is a very good idea to include your user name and the current date in the comment to make the key easier to identify.
  7. Provide a key passphrase.
  8. Save the private key to your local machine.
  9. Select and copy the contents of the "Public key for pasting into OpenSSH authorized_keys file" section at the top of the window (scrollable, make sure to select all).
  10. Paste the public key that you just copied into the box and click the "Add public key" button.
Note: if you are not using PuTTY to connect, you may need to export your private key into OpenSSH format to use it. You can do this from the Conversions menu.
Note: if you are using Cygwin or MSYS bash, the instructions for Linux can be used instead.

On Mac you can generate a key pair with the ssh-keygen command.

  1. Start the "Terminal" program.
  2. Run the following command: ssh-keygen -t rsa -b 4096 -C 'comment', replacing 'comment' with your own comment - a good idea is to include your user name and the current date in the comment to make the key easier to identify.
  3. Make sure that you give the key a passphrase when prompted.
  4. A new text file will have been created in a .ssh directory called id_rsa.pub. Copy the contents of that file into your clipboard.
  5. Paste the public key that you just copied into the box and click the "Add public key" button.

On Linux you can generate a key pair with the ssh-keygen command.

  1. Open a terminal on your machine
  2. Run the following command: ssh-keygen -t rsa -b 4096 -C 'comment', replacing 'comment' with your own comment - a good idea is to include your user name and the current date in the comment to make the key easier to identify.
    Note: if this command fails with a message of "ssh-keygen: command not found", you need to install the openssh-client package: sudo apt-get install openssh-client on Debian-based systems.
  3. Make sure that you give the key a passphrase when prompted.
  4. Run cat ~/.ssh/id_rsa.pub. The output is your public key. Copy it into your clipboard.
  5. Paste the public key that you just copied into the box and click the "Add public key" button.
keydata = $pubkey->export(); } $json->type = $pubkey->type; $json->keysize = $pubkey->keysize; $json->fingerprint = $pubkey->fingerprint_md5; $json->fingerprint_md5 = $pubkey->fingerprint_md5; $json->fingerprint_sha256 = $pubkey->fingerprint_sha256; if($include_owner) { $json->owner = new StdClass; $json->owner->type = get_class($pubkey->owner); if(get_class($pubkey->owner) == 'User') { $json->owner->uid = $pubkey->owner->uid; } elseif(get_class($pubkey->owner) == 'ServerAccount') { $json->owner->hostname = $pubkey->owner->server->hostname; } $json->owner->name = $pubkey->owner->name; } return $json; }