Skip to main content

Authentication Methods

Auk supports multiple authentication methods for Git synchronization:

SSH Keys

Most secure and convenient - no password needed

HTTPS + Token

Works everywhere, including corporate firewalls

OAuth

One-click authentication (coming soon)

Deploy Keys

Read-only or limited access for specific repositories

SSH Key Authentication

Setup SSH Keys

1

Generate SSH Key Pair

# Generate Ed25519 key (recommended)
ssh-keygen -t ed25519 -C "[email protected]"

# Or RSA key (if Ed25519 not supported)
ssh-keygen -t rsa -b 4096 -C "[email protected]"
When prompted:
  • File location: Press Enter for default (~/.ssh/id_ed25519)
  • Passphrase: Optional but recommended for security
2

Start SSH Agent

# Start the SSH agent
eval "$(ssh-agent -s)"

# Add your SSH key
ssh-add ~/.ssh/id_ed25519
For macOS, add to ~/.ssh/config:
Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519
3

Copy Public Key

# macOS
pbcopy < ~/.ssh/id_ed25519.pub

# Linux (requires xclip)
xclip -sel clip < ~/.ssh/id_ed25519.pub

# Windows (Git Bash)
cat ~/.ssh/id_ed25519.pub | clip

# Or just display it
cat ~/.ssh/id_ed25519.pub
4

Add to Git Service

Add the public key to your Git service (see platform-specific instructions below)

Platform-Specific Setup

  1. Go to github.com/settings/keys
  2. Click “New SSH key”
  3. Enter a title: Auk on MacBook Pro
  4. Paste your public key
  5. Click “Add SSH key”
Test connection:
ssh -T [email protected]
# You should see: "Hi username! You've successfully authenticated..."
Repository URL format:
[email protected]:username/repository.git

SSH Key Management

Multiple SSH Keys

If you have multiple Git accounts:
# ~/.ssh/config
Host github.com-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_work

Host github.com-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_personal
Use in Auk:
[email protected]:company/api-collections.git
[email protected]:username/personal-apis.git

SSH Key with Passphrase

If you set a passphrase, you’ll need to enter it when adding the key:
# Add key with passphrase
ssh-add ~/.ssh/id_ed25519

# macOS: Store passphrase in Keychain
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

HTTPS Authentication

Personal Access Token

Create Token:
  1. Go to github.com/settings/tokens
  2. Click “Generate new token” → “Generate new token (classic)”
  3. Enter note: Auk Git Sync
  4. Select scopes:
    • repo (Full control of private repositories)
  5. Click “Generate token”
  6. Copy token immediately (you won’t see it again)
Use in Auk:
https://[email protected]/username/repository.git
Or use Git credential helper:
git config --global credential.helper store

Credential Storage

Store credentials securely:
Use macOS Keychain:
git config --global credential.helper osxkeychain
First time you push/pull, enter your token as the password. macOS will store it securely.

Deploy Keys

For read-only or repository-specific access:

GitHub Deploy Keys

1

Generate Deploy Key

ssh-keygen -t ed25519 -C "auk-deploy-key" -f ~/.ssh/auk_deploy_key
2

Add to Repository

  1. Go to repository → Settings → Deploy keys
  2. Click “Add deploy key”
  3. Title: Auk Sync
  4. Paste public key
  5. Check “Allow write access” if needed
  6. Click “Add key”
3

Configure SSH

Add to ~/.ssh/config:
Host github.com-deploy
  HostName github.com
  User git
  IdentityFile ~/.ssh/auk_deploy_key
4

Use in Auk

[email protected]:username/repository.git

GitLab Deploy Tokens

1

Create Deploy Token

  1. Go to repository → Settings → Repository → Deploy tokens
  2. Name: Auk Sync
  3. Scopes:
    • read_repository
    • write_repository (if needed)
  4. Click “Create deploy token”
  5. Copy username and token
2

Use in Auk

https://USERNAME:[email protected]/username/repository.git

OAuth (Coming Soon)

One-click authentication with popular Git services:
  • GitHub OAuth - Authorize Auk to access your repositories
  • GitLab OAuth - Seamless integration with GitLab
  • Automatic Token Refresh - No manual token management

Security Best Practices

SSH keys are more secure and convenient:
  • No password to remember
  • Can’t be accidentally committed
  • Easier to revoke if compromised
Always set expiration dates for access tokens:
  • 30-90 days for active use
  • Shorter for testing
  • Rotate regularly
Grant only necessary permissions:
  • Read-only for viewing
  • Write access only when needed
  • Avoid admin permissions
Keep SSH private keys secure:
  • Never share private keys
  • Use passphrase protection
  • Store in secure location
  • Revoke if compromised
For automated systems:
  • Use deploy keys instead of personal keys
  • Limit to specific repositories
  • Read-only when possible

Troubleshooting

Cause: SSH key not added or not loadedSolution:
# Check if key is loaded
ssh-add -l

# If not, add it
ssh-add ~/.ssh/id_ed25519

# Test connection
ssh -T [email protected]
Cause: Invalid token or expired credentialsSolution:
  • Verify token is correct and not expired
  • Check token has required permissions
  • Clear credential cache and try again:
git credential-cache exit
Cause: Network or DNS issuesSolution:
  • Check internet connection
  • Verify Git service is accessible
  • Try using IP address instead of hostname

Next Steps

Git Sync Setup

Complete Git synchronization setup

Auto Sync

Configure automatic synchronization

Troubleshooting

Solve common Git issues

Security

Learn about security best practices