Skip to content
Developer secret-এর জন্য CLI

Developer secret-এর জন্য CLI

SSH key, .env ফাইল ও API token ল্যাপটপ ও CI agent জুড়ে ছড়িয়ে পড়ে। OpenKey CLI (openkey) একই zero-knowledge ভল্টের টার্মিনাল মুখ: অফলাইনে পাসওয়ার্ড জেনারেট, লোকাল finding unlocked desktop অ্যাপে import, typed secret পরিচালনা, এবং ঐচ্ছিকভাবে self-hosted server থেকে ciphertext pull।

এটি guided tour। সম্পূর্ণ flag-level reference CLI guide-এ।

তিনটি operating mode

OpenKey CLI architecture overview
Modeপ্রয়োজনীয়তাভূমিকা
Offlineকিছু নয়openkey gen — নেটওয়ার্ক বা unlocked vault ছাড়াই cryptographically উপযোগী পাসওয়ার্ড
Native bridgeএই মেশিনে desktop অ্যাপ unlockedsecret, discovery import ও search-এর default পথ secret ও login জুড়ে
CLI sessionlogin + eval $(openkey unlock)desktop অ্যাপ না থাকলে লোকাল ciphertext cache ও sync

CLI bridge up থাকলে prefer করে। না হলে OPENKEY_SESSION ব্যবহার করে। Bridge শুধু লোকাল এবং vault locked থাকলে কাজ করতে দেয় না — desktop session-এর মতো trust boundary।

How vault commands choose native bridge or session mode

অফলাইন জেনারেশন

bash
openkey gen -l 24 --no-symbols
openkey gen -l 32 -a -c          # avoid Il1O0o, copy to clipboard
openkey --json gen -l 20

দৈর্ঘ্য ও character class (--no-upper, --no-lower, --no-digits, --no-symbols) টিউন করুন, অথবা -c দিয়ে সরাসরি clipboard-এ কপি করুন। অ্যাপ unlock বা server registration লাগে না।

device group-এ discovery

Discover flow from scan to vault save
bash
openkey discover --dry-run
openkey discover -y
openkey discover -d workstation -p ~/src/acme --depth 3 --no-aws

Discovery scan করতে পারে:

  • ~/.ssh-এর নিচে private key (সহ sibling .pub যখন আছে)
  • পরিচিত ও secret-like process environment variable
  • AWS shared credential
  • এক বা একাধিক project root থেকে .env / .env.* tree

ফলাফল ভল্টের Secrets অংশে device লেবেলের (default hostname) নিচে গ্রুপ হয়। আগে import করা value content fingerprint দিয়ে skip হয়। --dry-run preview; -y prompt ছাড়া import। save-এর জন্য desktop অ্যাপ unlocked (বা CLI session) লাগে।

দৈনন্দিন secret অপারেশন

Secret typed record: apiToken (default), sshKey, envSnippet, বা other

bash
openkey secret add --name "GitHub PAT" --kind apiToken --secret ghp_...
openkey secret add -n "deploy" -k sshKey -f ~/.ssh/id_ed25519 \
  --public-key-file ~/.ssh/id_ed25519.pub
openkey secret list
openkey secret get "GitHub"
openkey secret copy ghp
openkey secret rm "old token" -y

List ও search value mask করে। plaintext দরকার হলে get / copy ব্যবহার করুন। Query name, host বা UUID prefix match করে; ambiguous হলে candidate তালিকা, অনুমান নয়।

Secret ও login entry একসাথে search:

bash
openkey search github
openkey get "GitHub"
openkey copy api.example.com

ঐচ্ছিক self-hosted sync

Login, ciphertext pull, and OPENKEY_SESSION unlock flow
bash
openkey config set-server https://openkey.example.com
openkey login --email [email protected]
eval $(openkey unlock)
openkey sync
eval $(openkey lock)

Login Argon2id দিয়ে auth_hash derive করে, master password flag হিসেবে পাঠায় না, CLI cache-এ শুধু wrapped key ও ciphertext রাখে, unlock থেকে OPENKEY_SESSION export প্রিন্ট করে (default lifetime 15 মিনিট; openkey config set-lock দিয়ে বদলান)। CI-তে OPENKEY_PASSWORD সেট করতে পারেন; ব্যক্তিগত মেশিনে interactive prompt prefer করুন।

যেকোনো সময় state দেখুন:

bash
openkey status
openkey config show

এটি পাসওয়ার্ড ম্যানেজারে কেন

Developer টার্মিনালে থাকে। অ্যাপের মতো এনক্রিপ্টেড Secrets এলাকায় লেখা CLI — এবং একই ciphertext-only sync API — workflow ও threat model এক রাখে। script-এর জন্য দ্বিতীয় secret store রাখতে হয় না।

ইনস্টল

bash
cd openkey_cli
npm install && npm run build
npm link   # optional

Node.js 20+ লাগে। সম্পূর্ণ command reference, environment variable, config path ও security note: CLI guide