Add SSH Access for a User¶
This guide covers granting SSH access to Astradial infrastructure. There are multiple paths depending on which server the user needs and how they will connect.
Security first
Always prefer SSH key authentication over passwords. Remove access promptly when a freelancer or contractor finishes their engagement.
Cloud Server Access¶
The cloud server (89.116.31.109) is directly reachable over the internet.
1. Create the user account¶
ssh root@89.116.31.109
# Create user with home directory
sudo adduser newuser
# Set a temporary password (they should change it on first login)
sudo passwd newuser
2. Add their SSH public key¶
sudo mkdir -p /home/newuser/.ssh
sudo nano /home/newuser/.ssh/authorized_keys
# Paste their public key (id_rsa.pub / id_ed25519.pub)
sudo chmod 700 /home/newuser/.ssh
sudo chmod 600 /home/newuser/.ssh/authorized_keys
sudo chown -R newuser:newuser /home/newuser/.ssh
3. Grant sudo if needed¶
4. Share connection details¶
Provide the user with:
| Detail | Value |
|---|---|
| Host | 89.116.31.109 |
| Port | 22 |
| Username | newuser |
NUC Access -- Local Network¶
If the user is on the same local network (office / same Wi-Fi):
SSH Host: 192.168.0.13
Port: 22
Username: (their account)
Password: (provide directly, not over email)
Create their account on the NUC the same way as the cloud server. They connect with:
NUC Access -- Cloudflare Tunnel¶
For remote access to the NUC without exposing it to the public internet, use the Cloudflare Tunnel.
Prerequisites for the user¶
-
Install
cloudflaredon their machine: -
Add the following to their
~/.ssh/config: -
They can then connect with:
Admin steps¶
You must add the user's email to the Cloudflare Access policy before they can connect via the tunnel. See Add User to Cloudflare Access below.
NUC Access -- Cloud Hop (Two-step SSH)¶
If the user already has cloud server access, they can reach the NUC through the WireGuard tunnel:
# Step 1: SSH to cloud
ssh newuser@89.116.31.109
# Step 2: From cloud, SSH to NUC via WireGuard
ssh nucuser@10.10.10.2
The user needs accounts on both servers for this method to work.
SSH ProxyJump shortcut
The user can add this to their local ~/.ssh/config to hop in one command:
Then simply: ssh astradial-nuc
Add User to Cloudflare Access¶
Cloudflare Access controls who can reach the NUC via SSH tunnel (nuc.astradial.com) and the internal wiki (wiki.astradial.com). Both are protected by the same Access policy. You must add a user's email before they can access either resource.
Steps¶
- Log in to Cloudflare Zero Trust (Hari's account)
- Navigate to Access controls → Policies in the left sidebar
- Click the Allow policy to edit it
- Under Add rules → Include, the selector should be set to Emails
- Type the new user's email address in the Value field and press Enter
- Click Save
The user will now be able to:
- Access
wiki.astradial.com— they'll see a Cloudflare login page, enter their email, and receive a one-time code - SSH to
nuc.astradial.com—cloudflaredwill open a browser for email verification before connecting
Current authorized emails¶
| Role | |
|---|---|
muthu@astradial.com | Team |
hari@astradial.com | Admin |
abusayed.nil@gmail.com | Team |
hariandprojects@gmail.com | Admin (alt) |
muthumanikandan11mk@gmail.com | Team |
Tip
If you add many team members with @astradial.com emails, consider switching the selector from Emails to Email domain with value astradial.com. This will automatically allow anyone with an @astradial.com address.
Remove a user¶
- Go to the same Allow policy
- Click the × next to their email in the Value field
- Click Save
Security Checklist¶
- [ ] Use SSH keys instead of password authentication whenever possible
- [ ] Disable password authentication in
/etc/ssh/sshd_configwhen all users have keys set up: - [ ] Remove the user account when the freelancer or contractor is done:
- [ ] Remove their key from any
authorized_keysfiles on other servers - [ ] If they had Cloudflare Access, remove their email from the Access policy
- [ ] If they had WireGuard access, revoke their peer config and regenerate keys if necessary
- [ ] Rotate any shared credentials or API tokens they had access to