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
Generate SSH Key Pair
- File location: Press Enter for default (
~/.ssh/id_ed25519) - Passphrase: Optional but recommended for security
Platform-Specific Setup
- GitHub
- GitLab
- Gitee
- Self-Hosted
- Go to github.com/settings/keys
- Click “New SSH key”
- Enter a title:
Auk on MacBook Pro - Paste your public key
- Click “Add SSH key”
SSH Key Management
Multiple SSH Keys
If you have multiple Git accounts:SSH Key with Passphrase
If you set a passphrase, you’ll need to enter it when adding the key:HTTPS Authentication
Personal Access Token
- GitHub
- GitLab
- Gitee
Create Token:Or use Git credential helper:
- Go to github.com/settings/tokens
- Click “Generate new token” → “Generate new token (classic)”
- Enter note:
Auk Git Sync - Select scopes:
- ✅
repo(Full control of private repositories)
- ✅
- Click “Generate token”
- Copy token immediately (you won’t see it again)
Credential Storage
Store credentials securely:- macOS
- Windows
- Linux
Use macOS Keychain: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
Add to Repository
- Go to repository → Settings → Deploy keys
- Click “Add deploy key”
- Title:
Auk Sync - Paste public key
- Check “Allow write access” if needed
- Click “Add key”
GitLab Deploy Tokens
Create Deploy Token
- Go to repository → Settings → Repository → Deploy tokens
- Name:
Auk Sync - Scopes:
- ✅
read_repository - ✅
write_repository(if needed)
- ✅
- Click “Create deploy token”
- Copy username and token
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
Use SSH Keys Over HTTPS
Use SSH Keys Over HTTPS
SSH keys are more secure and convenient:
- No password to remember
- Can’t be accidentally committed
- Easier to revoke if compromised
Set Token Expiration
Set Token Expiration
Always set expiration dates for access tokens:
- 30-90 days for active use
- Shorter for testing
- Rotate regularly
Use Minimal Permissions
Use Minimal Permissions
Grant only necessary permissions:
- Read-only for viewing
- Write access only when needed
- Avoid admin permissions
Protect Private Keys
Protect Private Keys
Keep SSH private keys secure:
- Never share private keys
- Use passphrase protection
- Store in secure location
- Revoke if compromised
Use Deploy Keys for CI/CD
Use Deploy Keys for CI/CD
For automated systems:
- Use deploy keys instead of personal keys
- Limit to specific repositories
- Read-only when possible
Troubleshooting
SSH: Permission denied (publickey)
SSH: Permission denied (publickey)
Cause: SSH key not added or not loadedSolution:
HTTPS: Authentication failed
HTTPS: Authentication failed
Cause: Invalid token or expired credentialsSolution:
- Verify token is correct and not expired
- Check token has required permissions
- Clear credential cache and try again:
Could not resolve hostname
Could not resolve hostname
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