Posts tagged "eshell,":
2FA en Eshell
Ahora que la universidad pide el código de verificación en dos pasos hasta para respirar, decidí hacer una función en Eshell que me facilitara la obtención de dicho código.
Tenía una función básica, que no recuerdo dónde la saqué, pero requería tener un búfer de Eshell en segundo plano para que funcionara.
(defun eshell2fa () (interactive) "Devuelve el id del 2FA en el portapapeles." (with-current-buffer "*eshell*" (eshell-return-to-prompt) (insert "id > /dev/kill") (eshell-send-input)) )
La línea del insert
es la que se encarga de obtener la clave a
través del alias id
, que usa oathtool
para obtener el
código. Luego se redirige al portapapeles con > /dev/kill
.
El alias se define de la siguiente forma:
alias id oathtool --counter=30 --totp=SHA1 -d 6 -b "clave-de-2FA"
Para mejorarla he añadido una línea que crea el búfer de Eshell si no
ha sido creado anteriormente, con un unless
(defun eshell2fa () (interactive) "Devuelve el id del 2FA en el portapapeles." (unless (gnus-buffer-live-p "*eshell*") (eshell) (switch-to-prev-buffer)) (with-current-buffer "*eshell*" (eshell-return-to-prompt) (insert "id > /dev/kill") (eshell-send-input)) )
Y luego sólo queda asignarla (por ejemplo a f12
) para poder tener el
código pulsando un botón.
(global-set-key (kbd "<f12>") 'eshell2fa)
Eshell para administración de sistemas
Llevo un tiempo intentando sustituir mi uso de Bash por Eshell. No es que tenga nada en contra de Bash, simplemente eshell es parte de Emacs y está escrita en Lisp, por lo que la puedo adaptar como quiera y se integra mejor en mi flujo de trabajo.
Sin embargo seguí usando Bash para conectarme por ssh a mi servidor en la Raspberry Pi. Hace poco descubrí que no es necesario hacer ésto si uso la Eshell. Simplemente puedo abrir una conexión con Tramp desde Emacs, y una vez que esté por ejemplo en un directorio remoto con dired, abrir la Eshell. Mágicamente estaré ya dentro del servidor como si de una conexión por ssh se tratase.
Lo único que me queda por resolver es la configuración de Tramp, ya que ahora mismo se me queda pillado a veces y no consigo conectarme al servidor a través de él, aunque pueda hacerlo por ssh normalmente.