<!-- Pt-web/src/app-root/ztr/SSHConfig.xml

 Copyright: ©2015, Güralp Systems Ltd.
 Author: Laurence Withers <lwithers@guralp.com>
 License: GPLv3

-->

<messages>

<message id='text.SSHConfig.title'>SSH server configuration</message>

<message id='tpl.SSHConfig.layout'>
  <p>This page provides only the most common configuration options for the
    SSH server. More advanced configuration is supported by editing the SSH
    server configuration files directly. These are located in
    <code>${configDir}</code>.</p>

  ${serverOptions}
  ${fingerprints}
  ${keyManager}
</message>



<!--============================================================================
Main server options
=============================================================================-->

<message id='tpl.SSHConfig.ServerOptions.layout'>
  <h3>Server options</h3>
  <p>${enablePasswordLogin} — <em>Only disable if you have deployed SSH keys
    and are confident that they work.</em></p>
  <p>${apply}</p>
</message>

<message id='text.SSHConfig.ServerOptions.enablePasswordLogin'>Enable login via password</message>
<message id='text.SSHConfig.ServerOptions.apply'>Apply settings and restart server</message>

<!-- error message shown if config file could not be opened; parameter {1} is
full path to config file, and {2} is library error message -->
<message id='xhtml.SSHConfig.ServerOptions.configLoadError'>Error loading server configuration file <code>{1}</code>: {2}</message>

<!-- error message shown if config file could not be saved; parameter {1} is
full path to config file, and {2} is library error message -->
<message id='xhtml.SSHConfig.ServerOptions.saveFailureMessage'>Error saving server configuration file <code>{1}</code>: {2}</message>
<message id='text.SSHConfig.ServerOptions.saveFailureTitle'>Failed to save configuration</message>

<!-- error message shown if the service could not be restarted; parameter {1} is
the service name we tried, and parameter {2} the library error message -->
<message id='xhtml.SSHConfig.ServerOptions.restartFailureMessage'>Error restarting the service <code>{1}</code>: {2}</message>
<message id='text.SSHConfig.ServerOptions.restartFailureTitle'>Failed to restart SSH server</message>

<!-- message shown if saving the configuration file was successful -->
<message id='xhtml.SSHConfig.ServerOptions.saveSuccessMessage'>SSH server configuration updated successfully. Server will be restarted.</message>
<message id='text.SSHConfig.ServerOptions.saveSuccessTitle'>Configuration saved</message>



<!--============================================================================
Server host key fingerprint listing
=============================================================================-->

<message id='tpl.SSHConfig.Fingerprints.layout'>
  <h3>Host key fingerprints</h3>
  <table class='PtTable'>
    <tr>
      <th scope='row'>RSA host key</th>
      <td class='PtTableL1'>${RSA}</td>
    </tr>
    <tr>
      <th scope='row' class='PtTableT1'>DSA host key</th>
      <td class='PtTableT1 PtTableL1'>${DSA}</td>
    </tr>
  </table>
</message>

<!-- error message if a key file cannot be accessed; parameter {1} is the full
path to the file and {2} is the library error message -->
<message id='xhtml.SSHConfig.Fingerprints.cannotAccessFile'>
  <code>{1}</code>: {2}
</message>

<!-- error message if something goes wrong executing the ssh-keygen program;
{1} is the library error message -->
<message id='xhtml.SSHConfig.Fingerprints.execError'>
  Error running <code>ssh-keygen</code> to list key fingerprint: {1}
</message>

<message id='xhtml.SSHConfig.Fingerprints.fingerprint'><code>{1}</code></message>



<!--============================================================================
Authorised key upload dialog
=============================================================================-->

<!-- main dialog layout -->
<message id='text.SSHConfig.KeyUpload.title'>Upload new public key</message>
<message id='tpl.SSHConfig.KeyUpload.layout'>
  <p>This dialog allows you to upload a public key file from your workstation
    to allow SSH access without a password. Select the public key file:</p>
  <p>${upload}</p>
</message>

<!-- labels for buttons at the bottom of the dialog -->
<message id='text.SSHConfig.KeyUpload.upload'>Upload key</message>
<message id='text.SSHConfig.KeyUpload.cancel'>Cancel</message>
<message id='text.SSHConfig.KeyUpload.continue'>Confirm</message>
<message id='text.SSHConfig.KeyUpload.accept'>OK</message>

<!-- error message if upload fails; {1} is library error message -->
<message id='text.SSHConfig.KeyUpload.uploadFailed'>Upload failed: {1}</message>

<!-- error message if uploaded key is not in correct format -->
<message id='text.SSHConfig.KeyUpload.invalidKey'>This key is not in the correct format.</message>

<!-- confirmation message shown once upload is complete; parameter {1} is the
key comment -->
<message id='xhtml.SSHConfig.KeyUpload.confirmUpload'>Public key labelled <code>{1}</code> uploaded successfully. Do you wish to authorise this key?</message>

<!-- error message shown if we cannot write to authorized_keys; parameter {1}
is the full path, and {2} is the library error message -->
<message id='xhtml.SSHConfig.KeyUpload.writeError'>Error adding the key to file
  <code>{1}</code>: {2}</message>

<!-- success message -->
<message id='xhtml.SSHConfig.KeyUpload.success'>Key uploaded successfully.</message>


<!--============================================================================
Individual user key management
=============================================================================-->

<!-- message displayed (inside warning widget) if we cannot load user details
from /etc/passwd. Parameter {1} is the Unix username -->
<message id='xhtml.SSHConfig.UserKeys.noSuchUser'>No such user <code>{1}</code></message>

<!-- normal layout of widget -->
<message id='tpl.SSHConfig.UserKeys.layout'>
  <p>Authorised SSH keys for user <code>${unixUsername}</code> (${description}):
  </p>
  ${keyTable}
  <div>${warnInvalidKey}</div>
  <div>${uploadKey}</div>
</message>

<!-- label for buttons to upload a new key/delete existing key -->
<message id='text.SSHConfig.UserKeys.uploadKey'>Upload a new public key</message>
<message id='text.SSHConfig.UserKeys.deleteKey'>Remove this key</message>

<!-- shown instead of ${keyTable} if there are no keys present -->
<message id='xhtml.SSHConfig.UserKeys.messageNoKeys'>
  <p><em>There are no authorised public keys for this user.</em></p>
</message>

<!-- Error message shown instead of ${keyTable} if the key file exists but
could not be loaded. Shown inside a warning widget. Parameter {1} is the full
path to the authorized_keys file, and {2} is the library error message. -->
<message id='xhtml.SSHConfig.UserKeys.cannotLoadKeyFile'>Unable to load public keys from <code>{1}</code>: {2}</message>

<!-- warning message shown (inside a warning widget) if we encountered a line we
could not parse in the authorized_keys file. Parameter {1} is full path to file.
-->
<message id='xhtml.SSHConfig.UserKeys.warnInvalidKey'>Invalid line encountered in <code>{1}</code>. This could be a protocol v1 key, or a key with options, which this program does not understand. Alternatively, it could be a problem that needs manual investigation.</message>

<!-- headers for the table of keys -->
<message id='xhtml.SSHConfig.UserKeys.keyTableTypeHeader'>Key type</message>
<message id='xhtml.SSHConfig.UserKeys.keyTableCommentHeader'>Label</message>
<message id='xhtml.SSHConfig.UserKeys.keyTableDeleteHeader'>Remove</message>

<!-- formatting for key type/comment strings -->
<message id='xhtml.SSHConfig.UserKeys.keyType'><code>{1}</code></message>
<message id='xhtml.SSHConfig.UserKeys.keyComment'>{1}</message>

<!-- tooltip explaining the skeleton@guralp.com key -->
<message id='text.SSHConfig.UserKeys.skeletonInfoTip'>This key is added by Güralp Systems to allow the support team to access remote units.</message>

<!-- dialog for confirming deletion of a key -->
<message id='text.SSHConfig.UserKeys.deleteConfirmTitle'>Delete key?</message>
<message id='xhtml.SSHConfig.UserKeys.deleteConfirm'>Please confirm that you
wish to delete the key <code>{1}</code>. <em>{2}</em></message>
<message id='text.SSHConfig.UserKeys.deleteConfirmSkeleton'>Deleting this key will not cause any malfunction, but will prevent Güralp Systems support staff from being able to log in remotely without a password.</message>
<message id='text.SSHConfig.UserKeys.deleteConfirmAccept'>Delete key</message>
<message id='text.SSHConfig.UserKeys.deleteConfirmReject'>Cancel</message>

<!-- dialog showing result of deleting a key -->
<message id='text.SSHConfig.UserKeys.deleteSuccessTitle'>Key deleted</message>
<!-- parameter {1} is the key's comment/label -->
<message id='xhtml.SSHConfig.UserKeys.deleteSuccessMessage'>
  <p>The key <code>{1}</code> was successfully deleted.</p>
</message>

<message id='xhtml.SSHConfig.UserKeys.deleteFailureTitle'>Failed to delete key</message>
<!-- {1] is key comment, {2} is path to key file, {3} is library error message
-->
<message id='xhtml.SSHConfig.UserKeys.deleteFailureMessage'>Unable to delete the key <code>{1}</code> from file <code>{2}</code>: {3}.</message>
<message id='xhtml.SSHConfig.UserKeys.deleteKeyNotFound'>Key not found (did somebody else edit the file?)</message>



<!--============================================================================
System-wide authorised key manager
=============================================================================-->

<!-- Overall widget layout -->
<message id='tpl.SSHConfig.KeyManager.layout'>
  <h3>Authorised keys</h3>
  <p>This section lists any keys which can be used to log in via SSH without
    using a password. Such keys may be generated on the workstation requiring
    access with the command <code>ssh-keygen</code>. The public key file may
    then be uploaded using this interface.</p>
  <div>
    <label for='${id:userSel}'>Managing keys for user:</label>
    ${userSel}
  </div>
  ${disabledNotice}
  ${keyEditor}
</message>

<!-- builds label for users in selection box; {1} is Unix username and {2} is
description -->
<message id='text.SSHConfig.KeyManager.userLabel'>{1} ({2})</message>
<!-- same as userLabel, but for a disabled account -->
<message id='text.SSHConfig.KeyManager.userLabelDisabled'>Disabled account {1} ({2})</message>

<!-- message displayed when managing SSH keys for a disabled user account -->
<message id='xhtml.SSHConfig.KeyManager.disabledNotice'><strong>Disabled account</strong>: this user account has been disabled. Login will not be possible, even with valid SSH keys.</message>

<!-- error message if getpwent(3) fails; parameter {1} is library error message
-->
<message id='text.SSHConfig.KeyManager.readingPasswdError'>Error reading list of users: {1}</message>

<message id='text.SSHConfig.KeyManager.noUsers'>No users detected; could the password file be corrupt?</message>

</messages>

<!-- options for text editors
vim: ts=2:sw=2:expandtab
-->
