Komut satırı aracı nasıl kurulur?
Komut satırı aracı macOS (Apple Silicon ve Intel) ve Linux (x64 ve arm64) için tek dosyalık bir programdır; Node.js gerekmez. En kolay yol Homebrew'dur:
brew install keyzula/tap/keyzula
keyzula --versionHomebrew kullanmayan Linux makinelerinde (ör. sunucular ve CI çalıştırıcıları) programı indirip /usr/local/bin içine açın:
# x64
curl -fsSL https://github.com/KeyZula/homebrew-tap/releases/download/v1.2.1/keyzula-1.2.1-linux-x64.tar.gz | sudo tar -xz -C /usr/local/bin keyzula
# arm64
curl -fsSL https://github.com/KeyZula/homebrew-tap/releases/download/v1.2.1/keyzula-1.2.1-linux-arm64.tar.gz | sudo tar -xz -C /usr/local/bin keyzulaWindows'ta (x64) keyzula.exe dosyasını PowerShell ile indirip PATH'e ekleyin (sonra yeni bir terminal açın):
$dir = "$env:LOCALAPPDATA\Programs\KeyZula"
Invoke-WebRequest https://github.com/KeyZula/homebrew-tap/releases/download/v1.2.1/keyzula-1.2.1-windows-x64.zip -OutFile "$env:TEMP\keyzula.zip"
Expand-Archive -Force "$env:TEMP\keyzula.zip" $dir
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path", "User") + ";$dir", "User")Güncellemek için:
brew update && brew upgrade keyzulaArşivler ve SHA256SUMS dosyası homebrew-tap sürümlerinde yayımlanır.
Giriş ve temel komutlar
keyzula login e-posta adresinizi ve ana parolanızı sorar; iki adımlı doğrulama açıksa doğrulama kodunu da ister. Ana parola ekranda görünmez ve diske yazılmaz.
keyzula login
keyzula status
keyzula list github
keyzula get password GitHub
keyzula get username GitHub
keyzula get totp GitHubget komutu password, username veya totp alanını kayıt adıyla ya da kimliğiyle getirir; 2FA kodu bilgisayarınızda hesaplanır. list ve status betikler için --json çıktısı verir. SSH agent çalışıyor ve kilidi açıksa bu komutlar parola sormaz.
Varsayılan sunucu https://app.keyzula.com adresidir. Başka bir sunucu için --server bayrağını veya KEYZULA_SERVER ortam değişkenini kullanın:
keyzula login --server https://vault.example.comSSO ile veya parolasız (güvenilir cihaz) giriş yapan hesaplar komut satırında henüz desteklenmiyor.
SSH agent nasıl başlatılır?
Yerleşik SSH agent, kişisel kasanızdaki ve erişebildiğiniz koleksiyonlardaki SSH anahtarı kayıtlarını ssh ve git'e sunar. Gizli anahtarlar yalnızca agent sürecinin belleğinde tutulur; diske yazılmaz ve agent kilitlenince silinir.
keyzula ssh-agent --daemon
keyzula ssh add-config--daemon agent'ı arka planda çalıştırır (günlük: ~/.config/keyzula/ssh-agent.log; günlükte yalnızca anahtar adları, parmak izleri ve zamanlar bulunur). Agent kasayı 5 dakikada bir yeniler; kasaya eklediğiniz anahtarlar kendiliğinden gelir.
- Desteklenen anahtarlar: Ed25519, RSA (rsa-sha2-256/512) ve ECDSA P-256/384/521; OpenSSH ve PEM/PKCS#8 biçimleri, parolalı anahtarlar dahil (kayıttaki anahtar parolası alanı kullanılır).
- Donanım anahtarları (
sk-*) ve DSA desteklenmez. - "Parolayı göremez" yetkisiyle paylaşılan anahtarlar agent'a eklenmez.
ssh-addile anahtar ekleme ve silme istekleri reddedilir; anahtarları kasada yönetin.
ssh yapılandırması
keyzula ssh add-config sisteminize uygun yapılandırma parçasını yazdırır. Tüm sunucularda kasanızdaki anahtarları kullanmak için ~/.ssh/config dosyanıza ekleyin:
# ~/.ssh/config
Host *
IdentityAgent "~/.config/keyzula/ssh-agent.sock"Yalnızca açık terminal oturumu için SSH_AUTH_SOCK değişkenini kullanabilirsiniz:
export SSH_AUTH_SOCK="$HOME/.config/keyzula/ssh-agent.sock"
ssh-add -L
ssh -T git@github.commacOS ve Linux'ta soket yalnızca sizin erişebileceğiniz izinlerle (0600) oluşturulur. XDG_CONFIG_HOME tanımlıysa yol ona göre değişir; doğru yolu her zaman ssh add-config gösterir.
Windows'ta agent, soket yerine kullanıcınıza özel adlı bir named pipe kullanır ve Windows'un kendi OpenSSH istemcisiyle çalışır. ssh add-config çıktısındaki IdentityAgent satırını %USERPROFILE%\.ssh\config dosyasına ekleyin. Git for Windows kendi ssh'ini kullandığından Git'i Windows'unkine yönlendirin; commit imzalama komutlarını da ssh add-config gösterir:
keyzula ssh-agent --daemon
keyzula ssh add-config
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"İmza onayı ve otomatik kilit
keyzula ssh-agent --confirm
keyzula ssh-agent --daemon --lock-after 2h
keyzula lock
keyzula unlock--confirm: her imzadan önce agent'ın terminalinde onay ister (e/H). Onay için terminal gerektiğinden--daemonile birlikte kullanılamaz; agent'ı ayrı bir terminal sekmesinde ön planda çalıştırın.--lock-after: belirtilen süre hareketsiz kalınca agent'ı kilitler (varsayılan12h;0= hiç kilitleme). Süre30mveya2hgibi yazılır.keyzula lockanahtarları bellekten siler;keyzula unlockana parolanızı sorup agent'ı yeniden açar.
Git commit'leri nasıl imzalanır?
Kasanızdaki bir SSH anahtarıyla git commit'lerini imzalayabilirsiniz. Agent çalışırken:
git config --global gpg.format ssh
git config --global user.signingkey "key::$(ssh-add -L | head -n1)"
git config --global commit.gpgsign truessh-add -L agent'taki açık anahtarları listeler; birden fazla anahtarınız varsa head -n1 yerine doğru satırı seçin. Aynı açık anahtarı GitHub veya GitLab hesabınıza imzalama anahtarı olarak ekleyin.
Gizli değerler: read, run ve inject
Betiklerinize ve yapılandırma dosyalarınıza parola yazmak yerine kasadaki değere işaret eden bir referans yazın:
kz://<collection>/<item>/<field>- Koleksiyon ve kayıt: ad (büyük/küçük harf duyarsız) veya kimlik.
~kişisel kasanızdır (yalnızca oturum açmış kullanıcılar için). - Alan:
password,username,totp(o anki kod),notes,url,private_key,public_key,passphrase,number,codeveya özel bir alanın etiketi. - Ad içindeki
/karakterini%2Folarak yazın; referansları kabukta her zaman tırnak içine alın.
keyzula read "kz://Production/Postgres/password"
keyzula read -n "kz://~/GitHub/totp"run komutu, ortamdaki ve --env-file ile verilen dosyalardaki kz:// değerlerini çözer ve komutu bu ortamla başlatır. Çözülen değerler komutun çıktısında varsayılan olarak gizlenir; etkileşimli programlar için --no-masking kullanın.
# .env
DB_PASSWORD=kz://Production/Postgres/password
STRIPE_KEY="kz://Production/Stripe/API key"
keyzula run --env-file .env -- ./deploy.shinject komutu şablondaki {{ kz://… }} yer tutucularını doldurur. Çıktı dosyası yalnızca sizin okuyabileceğiniz izinlerle (0600) yazılır; var olan bir dosyanın üzerine yalnızca --force ile yazılır.
# config.yml.tpl
database:
password: "{{ kz://Production/Postgres/password }}"
keyzula inject -i config.yml.tpl -o config.ymlTüm referanslar komut başlamadan önce çözülür; biri bile çözülemezse hiçbir şey çalıştırılmaz veya yazılmaz.
Servis hesapları ne işe yarar?
Servis hesabı, sunucuların, CI işlerinin ve yapay zekâ ajanlarının bir organizasyonun seçilen koleksiyonlarındaki gizli değerleri salt okunur almasını sağlayan makine kimliğidir. Sahip veya yönetici, web kasasında Organizasyon → Servis hesapları sayfasından oluşturur, koleksiyonları seçer ve bir erişim belirteci üretir. Belirteç yalnızca bir kez gösterilir.
export KEYZULA_SERVICE_TOKEN='kzsa_1_…'
keyzula read "kz://Production/Postgres/password"- Sıfır bilgi: belirteç ve anahtarlar yöneticinin tarayıcısında üretilir. Sunucu belirtecin kendisini hiç görmez; komut satırı aracı kayıtları yerelde çözer.
- Salt okunur: servis hesabı yalnızca kendisine verilen koleksiyonları okuyabilir; kayıt ekleyemez veya değiştiremez.
- İptal: her belirteç ayrı ayrı iptal edilebilir ve isteğe bağlı bir son kullanma tarihi alır. İptal edilen belirtecin sunucudaki anahtarları silinir.
- Denetim: her okuma zaman, IP ve koleksiyon bilgisiyle organizasyonun denetim kaydına yazılır.
KEYZULA_SERVICE_TOKEN tanımlı değilse aynı komutlar oturum açmış kullanıcı olarak çalışır.
GitHub Actions örneği
Belirteci deponuzun gizli değişkenlerine KEYZULA_SERVICE_TOKEN adıyla ekleyin. İş akışında Linux sürümünü indirin ve gizli değerleri adımın ortamında kz:// referansı olarak verin:
jobs:
deploy:
runs-on: ubuntu-latest
env:
KEYZULA_SERVICE_TOKEN: ${{ secrets.KEYZULA_SERVICE_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Install KeyZula CLI
run: curl -fsSL https://github.com/KeyZula/homebrew-tap/releases/download/v1.2.1/keyzula-1.2.1-linux-x64.tar.gz | sudo tar -xz -C /usr/local/bin keyzula
- name: Deploy
env:
DB_PASSWORD: kz://Production/Postgres/password
run: keyzula run -- ./scripts/deploy.sh
- name: Render config
run: keyzula inject -i deploy/app.yml.tpl -o deploy/app.ymlrun komutu KEYZULA_SERVICE_TOKEN değişkenini alt sürecin ortamından çıkarır, sinyalleri iletir ve çıkış kodunu olduğu gibi döndürür. Her depo veya ortam için ayrı bir belirteç kullanın, son kullanma tarihi verin ve artık gerekmediğinde iptal edin.
Yapay zekâ ajanlarına da yalnızca ihtiyaç duydukları koleksiyonu gören ayrı bir servis hesabı verin. API anahtarları istem (prompt) metnine veya depoya değil, yalnızca sürecin ortamına ulaşır:
KEYZULA_SERVICE_TOKEN=kzsa_1_… \
OPENAI_API_KEY="kz://AI agents/OpenAI/API key" \
keyzula run -- python agent.pyYapay zekâ asistanları (MCP)
keyzula mcp, Claude, Cursor, VS Code ve diğer MCP uyumlu yapay zekâ asistanlarını kasanıza bağlar. Asistan kayıtları ad, web sitesi ya da kullanıcı adıyla bulur ve gizli değerleri kz:// referanslarıyla görmeden kullanır: değerler çalıştırdığı komutun ortamına (çıktıda gizlenerek) ya da yalnızca sizin okuyabileceğiniz bir dosyaya gider.
keyzula login
keyzula ssh-agent --daemon
claude mcp add keyzula -- keyzula mcpClaude Desktop, Cursor ve diğer istemcilerde MCP yapılandırmasına ekleyin. Masaüstü uygulamaları terminalinizdeki PATH'i görmeyebilir; which keyzula ile öğrendiğiniz tam yolu kullanın. Her asistan için adım adım kurulum Yapay zekâ asistanları sayfasında.
{
"mcpServers": {
"keyzula": { "command": "/opt/homebrew/bin/keyzula", "args": ["mcp"] }
}
}search_itemsad, konum, kullanıcı adı, web sitesi ve referansları döndürür; parolaları asla.run_commandbir programı gizli değerler ortamında olacak şekilde çalıştırır, çıktıyı değerler gizlenmiş olarak döndürür.inject_templatebir{{ kz://… }}şablonunu doldurur ve yalnızca sizin okuyabileceğiniz (0600) bir dosyaya yazar; asistana yalnızca dosya yolu döner.- Parola ya da 2FA kodu gibi bir değeri gösteren
read_secretvarsayılan olarak kapalıdır.--allow-revealile açarsanız her istek, bilgisayarınızda çıkan ve asistanın tıklayamadığı bir KeyZula penceresinde onayınızı bekler.
MCP sunucusu kasayı yalnızca kilidi açık agent'tan okur; ana parolanızı asla istemez. --confirm ile gizli değerin her kullanımında size sorar. Her kullanım erişim kayıtlarında "Yapay zekâ asistanı kullandı" olarak görünür. Ekipler için servis hesabı belirteciyle başlatın; asistan yalnızca seçtiğiniz koleksiyonları görür.
Güvenlik notları
~/.config/keyzuladizinine (0700) yalnızca sunucu adresi, e-posta, oturum belirteci ve sunucunun verdiği şifreli anahtarlar yazılır (config.json, 0600).- Ana parola, türetilmiş anahtarlar, çözülmüş kasa ve gizli SSH anahtarları diske yazılmaz; yalnızca agent sürecinin belleğinde tutulur ve kilitlenince silinir.
- Servis belirteciyle çalışırken araç yapılandırma dizinine hiçbir şey yazmaz. Açıkça istediğiniz
inject -oçıktısı dışında diske gizli değer yazılmaz. getile yapılan okumalar ve agent'ın imza için kullandığı anahtarlar, diğer uygulamalarda olduğu gibi erişim kaydına işlenir (yalnızca kayıt kimliği, işlem ve zaman; ad veya içerik değil).- Belirteci depoya, Docker imajına veya istem metnine yazmayın; CI'ın gizli değişkenlerinde saklayın.
Mimarinin ayrıntıları için Güvenlik sayfasına bakın.
Sık sorulan sorular
Komut satırı aracı hangi sistemlerde çalışır?
macOS (Apple Silicon ve Intel) ve Linux (x64 ve arm64) üzerinde çalışan tek dosyalık bir programdır; Node.js gerekmez. En kolay kurulum yolu Homebrew'dur. Windows'ta (x64) tek bir keyzula.exe dosyasıdır.
SSH anahtarlarım diske yazılır mı?
Hayır. Gizli anahtarlar yalnızca agent sürecinin belleğinde tutulur ve agent kilitlenince silinir. Yapılandırma dizinine yalnızca sunucu adresi, e-posta, oturum belirteci ve sunucunun verdiği şifreli anahtarlar yazılır.
Hangi SSH anahtar türleri desteklenir?
Ed25519, RSA (rsa-sha2-256/512) ve ECDSA P-256/384/521; OpenSSH ve PEM/PKCS#8 biçimleri, parolalı anahtarlar dahil. Donanım anahtarları (sk-*) ve DSA desteklenmez.
CI ve yapay zekâ ajanlarına gizli değerleri nasıl veririm?
Web kasasında bir servis hesabı oluşturun, yalnızca gereken koleksiyonları seçin ve erişim belirtecini CI'ın gizli değişkenlerine ekleyin. run komutu ortamdaki kz:// referanslarını çalışırken çözer; değerler depoya veya istem metnine yazılmaz.
Claude veya Cursor gibi yapay zekâ asistanları kasamı kullanabilir mi?
Evet, keyzula mcp sunucusuyla. Asistan kayıtlarınızda arar ve gizli değerleri kz:// referanslarıyla görmeden kullanır; bir değeri göstermek varsayılan olarak kapalıdır, açılırsa her istek için onayınız gerekir. Her kullanım erişim kayıtlarına yazılır.
SSO ile giriş yapan hesaplar komut satırını kullanabilir mi?
Henüz değil: SSO ile veya parolasız (güvenilir cihaz) giriş yapan hesaplar komut satırında desteklenmiyor. Sunucular ve CI için organizasyonunuzda servis hesabı kullanabilirsiniz.