If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.
Find a file
NightWatcher d02c63ac86
ssh kitten: add optional password and TOTP auto-fill via ssh.conf
Motivation: Some environments disallow or do not reliably accept one-way
pubkey-only auth, or require keyboard-interactive password + TOTP. This adds an
optional, host-scoped automation via kitty's native askpass to reduce repetitive
manual entry while preserving the ssh kitten UX.

- Add auth_config.go to parse password/totp_* from ssh.conf by host block
- Ignore these keys in main ssh.conf parser to avoid bad-line warnings
- Pass host/user to askpass for host-aware lookup
- Auto-answer password and OTP prompts in askpass; fallback to UI otherwise

Security: Secrets in ssh.conf are plain text; users should enforce strict
permissions or avoid storing passwords if unacceptable. Only login password/OTP
prompts are auto-answered; passphrases and host key confirmations are not.

feat(ssh): add secret backend support for auth passwords and TOTP secrets

Introduce support for specifying secret backends in SSH auth config, currently supporting only the "text" backend for storing secrets directly. This allows for future extensibility while maintaining backward compatibility by treating values without a backend as "text:<value>".

The changes include new fields in AuthEntry for backends, updated parsing logic in lineHandler, error handling for invalid backends, and normalization for existing configs. A new parseBackendSecret function handles the parsing with validation.
2025-09-30 17:31:16 +05:30
.github Run govulncheck on the binary and remove upload of SARIF to github as github doesnt like the SARIF govulncheck produces 2025-09-24 13:12:00 +05:30
3rdparty ... 2024-07-14 12:34:24 +05:30
bypy Also need to rename the brotli package in kitty 2025-09-24 12:51:59 +05:30
docs Update changelog 2025-09-30 16:59:28 +05:30
gen Cache parsing of command line specifications 2025-09-29 12:31:10 +05:30
glad More robust detection of support for GL_FRAMEBUFFER_SRGB 2025-08-11 09:13:49 +05:30
glfw Fix titlebar color not working for opaque windows 2025-09-29 22:36:27 +05:30
kittens ssh kitten: add optional password and TOTP auto-fill via ssh.conf 2025-09-30 17:31:16 +05:30
kitty Fix #9049 2025-09-30 15:44:31 +05:30
kitty_tests Add integration test for go atexit implementation 2025-09-30 12:37:25 +05:30
logo Oxipng/svgo images to save some 150KB~ 2024-03-25 23:42:56 +01:00
shell-integration Fix bash integration when 'set -o nounset' is in effect 2025-09-15 10:40:36 +02:00
terminfo Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
tools Get rid of os.Exit() from ExecAndHoldTillEnter 2025-09-30 13:25:22 +05:30
.editorconfig Fix indentation in codeql yml file 2025-04-14 10:21:10 +05:30
.gitattributes Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
.gitignore Nicer way to include grapheme test data in Go tests 2025-03-27 03:20:27 +05:30
__main__.py Make shebangs consistent 2023-11-11 08:32:05 +05:30
benchmark.py Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Brewfile See if dropping pkgconf fixes CI build 2024-11-23 19:48:05 +05:30
build-terminfo Make the terminfo database available in the compiled module 2024-03-21 10:16:50 +05:30
CHANGELOG.rst
CONTRIBUTING.md Fix misspellings 2023-06-14 03:39:53 +06:00
count-lines-of-code Update the list of nerd font names when updating other unicode data as well 2025-05-21 13:19:27 +05:30
dev.sh Update docs for new develop builds 2023-07-29 14:16:25 +05:30
embeds.go Get basic full string width tests running 2025-04-11 10:45:39 +05:30
go.mod Bump the go toolchain value to avoid CVEs 2025-09-24 13:26:20 +05:30
go.sum Fix warning when building go code 2025-09-22 19:47:47 +05:30
INSTALL.md
key_encoding.json
LICENSE
Makefile Update docs for new develop builds 2023-07-29 14:16:25 +05:30
publish.py Use a full qualified name for SBOM generation 2025-09-18 17:42:05 +05:30
pyproject.toml Specify python dependencies in pyproject.toml 2025-09-16 16:42:01 +05:30
README.asciidoc Update repology links 2024-10-01 15:31:16 +05:30
rsync-and-build.sh Slightly improve rsync script 2025-05-09 15:33:22 +05:30
SECURITY.md ... 2025-09-14 21:31:43 +05:30
session.vim Switch to LSP for mypy 2024-03-28 19:36:07 +05:30
setup.py Allow shader names with underscores 2025-08-13 07:10:16 +05:30
shell.nix fix: add missing pkgs and manually add font for nix shell 2025-05-10 14:42:46 +02:00
staticcheck.conf configure staticcheck 2022-11-14 15:42:01 +05:30
test.py Dont change the env for go tests 2022-11-14 15:41:53 +05:30
update-on-ox Allow turning off stripping in update-on-ox 2024-08-18 15:30:38 +05:30

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"]