Register Machines: set up ssh key login to a compute machine (keychain-stored passphrase)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- authentication, security
Línea de trabajo
This is design work spanning key creation, OS keychains on three platforms, and remote authorized_keys handling, so start by reading the proposal and agreeing scope with maintainers via #204 and #194. The payload names the sshd test containers in tests/transport/sshd, plus the existing AuthCache, passdialog and login path that the one-time password copy must reuse. Done would mean a key-only login succeeds with no password prompt, re-running the button does not duplicate the key, and the centre-policy message is shown correctly.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Goal
Make key-based ssh login to a compute machine (HPC cluster) easy to set up from Register Machines, so users do not type a password for every connection. Users must also not have to type a passphrase repeatedly.
Proposal
An opt-in button "Set up key login…" on the Connection tab of Register Machines. It is not done automatically.
-
Key. If the user has no suitable key (
~/.ssh/id_ed25519), create an ed25519 key with a passphrase. -
Passphrase storage. Store the passphrase in the operating system's keychain:
- macOS Keychain
- Windows Credential Manager
- Secret Service / GNOME Keyring on Linux
These unlock at desktop login, so in practice the passphrase is never typed again. Where no keychain is available, ECCE asks once per session and keeps it in memory (AuthCache), as it does for passwords today.
-
Copy the public key. Log in once with the existing password login (ECCE's own ssh, AuthCache, passdialog), then append the public key to
~/.ssh/authorized_keyson the machine, asssh-copy-iddoes:- create
~/.sshwith mode 700 andauthorized_keyswith mode 600; - do not add a key that is already present.
- create
-
Test. Try a key-only login and report the result plainly, including "the centre still requires a second factor".
Policies and limits
- Centre policies. Some centres forbid keys without a passphrase. Others accept keys only through their own portal, where
authorized_keysis ignored. The dialog states this and can show a link given in the site configuration for that machine. - Two-factor centres. At centres with a second factor, a key may replace the password but not the code. ECCE already logs in once per job (
824b6262), not once per stream. - No passphrase-less default. Passphrase-less keys are not created by default. A deliberate choice for lab or shared accounts is possible, with a plain warning.
- Standard key location. The key lives in the standard
~/.sshlocation on every platform, so other ssh tools can use it.
Security
- The private key and passphrase never leave the user's computer.
- No credential is written to logs or temporary files.
- The password used for the one-time copy goes through the existing login path only.
Tests
- The sshd test containers (
tests/transport/sshd): password-only and keyboard-interactive servers. After set-up, a key login succeeds and the password is not asked. - A centre that ignores
authorized_keysis reported correctly. - Running the button again does not duplicate the key.
- Keychain round trip on Linux CI (Secret Service), with macOS/Windows keychain access checked in their CI jobs.
Related: #204 (transport), #194 (credentials), first-start question #240.
- Lenguaje dominante
- C
- Estrellas
- 10
- Forks
- 8
- Merge medio
- 21 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FriendsofECCE/ECCE
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
FriendsofECCE/ECCE#336 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
FriendsofECCE/ECCE#339 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
FriendsofECCE/ECCE#338 · 2 comentarios ·
-
Basis Set Tool: periodic table cut off on the right; elements 110-118 still have placeholder namesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 40/100
FriendsofECCE/ECCE#337 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
FriendsofECCE/ECCE#335 ·
Todos los issues de FriendsofECCE/ECCE
Issues similares
-
Symlink in release archive attempts traversalPosiblemente ocupada @Tiancheng-Xu la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
redis/hiredis#1388 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[BUG] Small issues on iMXRT found by ClaudePosiblemente ocupada @Sarthak-Pandey la tomó hoy. AbiertoArch: arm Area: Networking OS: Linux Type: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
eclipse-cyclonedds/cyclonedds#2474 ·
-
area: docs eco: cpp good first issue help wanted lane: free-agent roadmap size: XS type: docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
arminazimi/evergreen#475 ·
Los mantenedores suelen responder en 1 día
-
[Issue]: hipsparselt.h C API as shipped now requires C23 -- ONLY because of missing include or guardAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ROCm/rocm-libraries#13736 ·
Los mantenedores suelen responder en 2 días