Välkommen till Flexbert!

Sätt upp Claude Code så du kan jobba med Flexbert direkt på Republikens server.

Den här guiden tar dig igenom hela installationen från noll. Den är skriven för dig som inte är van vid terminalen, du behöver inte förstå varför varje steg behövs, bara kopiera-klistra in kommandona i rätt ordning.

Total tid: cirka 20 till 30 min. Du kan pausa när som helst.

Platshållare i den här guiden Vissa kommandon innehåller platshållare i VERSALER som du byter ut mot dina egna värden innan du kör dem:

DITT-ANVÄNDARNAMN = ditt unix-användarnamn på servern. Jonatan ger dig det när han skapar ditt konto, oftast ditt förnamn i gemener.
DIN-EMAIL@republiken.se = din jobb-email, används för Cloudflare-inloggningen.

Jonatan talar också om vilka kund-kanaler du har access till.
Vad är Flexbert? Republikens AI-assistent som har full kontext om våra kunder och deras setup. Idag pratar du med honom via Discord. Med Claude Code kan du också jobba tillsammans med honom direkt på datorn, analysera data, skapa rapporter, läsa kund-minne osv.
Vad är nytt sedan tidigare guide? Anslutningen till servern går nu via Cloudflare istället för direkt-SSH. Det betyder två saker: du kan jobba var som helst (hemma, kontoret, café, mobilt nät), och autentiseringen sker via din republiken.se-email istället för IP-whitelist.
Återvändande kollega som redan har en nyckel? Har du onboardats tidigare och har en SSH-nyckel registrerad på servern behöver du INTE generera en ny. Hoppa direkt till steg 4 (Installera cloudflared). Steg 1, 2 och 3 är för dig som sätter upp från noll.
Vad betyder "kör" i guiden? När det står "kör" eller "klistra in" så menas alltid Terminal-appen på din Mac. Det är där alla kommandon i den här guiden ska köras.

Så öppnar du Terminal: tryck + Space, skriv Terminal, tryck Enter. Ett svart eller vitt fönster med text öppnas.

Samma fönster räcker hela vägen. Du behöver bara ETT Terminal-fönster för hela installationen (steg 1, 2, 4, 5, 6, 7). Stäng inte fönstret förrän du är på steg 8. Om guiden behöver att du öppnar ett nytt fönster eller en ny flik kommer det stå explicit i steget. Tips: ny flik i samma fönster öppnas med + T.

Innehåll

  1. Generera en SSH-nyckel
  2. Skicka publika nyckeln till Jonatan
  3. Vänta på bekräftelse
  4. Installera cloudflared
  5. Konfigurera SSH
  6. Spara SSH-nyckeln i Keychain
  7. Första anslutning (email-OTP)
  8. Installera Claude Code
  9. Konfigurera Remote-mode i Claude Code
  10. Första testsession
  11. Vad du kan göra härnäst
  12. Felsökning

1Generera en SSH-nyckel

En SSH-nyckel är som ett digitalt pass, det bevisar att det är du som loggar in på servern, utan att du behöver komma ihåg ett lösenord.

Du genererar en nyckel på din Mac. Den består av två filer:

Så här gör du:

  1. Öppna Terminal på din Mac.
    Hur öppnar jag Terminal? Tryck + Space för att öppna Spotlight, skriv Terminal och tryck Enter. Ett svart eller vitt fönster med text öppnas.
  2. Klistra in den här raden, ändra inget, och tryck Enter:
    ssh-keygen -t ed25519 -C "republiken-flexbert" -f ~/.ssh/republiken_ed25519
  3. Du får en fråga om passphrase. Det är ett extra lösenord som skyddar nyckelfilen lokalt på din Mac.
    Rekommenderat: hoppa över den. Tryck bara Enter två gånger, alltså tom passphrase. Då slipper du en prompt varje gång du ansluter, och du undviker den vanligaste förvirringen, att man tror passphrasen är ett inloggnings-lösenord (det är den inte).

    Nyckeln är ändå skyddad: den ligger bara på din egen Mac, och anslutningen kräver dessutom Cloudflare-inloggning med din @republiken.se-email.

    Sätter du ändå en passphrase måste du spara den i Keychain (steg 6), annars blir du frågad vid varje anslutning.
  4. När det är klart ser du något i stil med:
    Your identification has been saved in /Users/dittnamn/.ssh/republiken_ed25519
    Your public key has been saved in /Users/dittnamn/.ssh/republiken_ed25519.pub
    The key fingerprint is:
    SHA256:... republiken-flexbert
Klart med steg 1. Två filer ligger nu i din hemmapp under .ssh/.

2Skicka publika nyckeln till Jonatan

  1. I samma Terminal-fönster, klistra in:
    pbcopy < ~/.ssh/republiken_ed25519.pub
    Detta kopierar publika nyckeln till urklipp.
  2. Klistra in den i ett meddelande till Jonatan (Discord, Slack, mail, vad ni använder).

Den ser ut typ så här (cirka 80 tecken på en rad, börjar med ssh-ed25519 AAAA... och slutar med republiken-flexbert):

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH...långt...vY republiken-flexbert
OBS: Det är publika nyckeln (slutar på .pub) du delar. Aldrig den som inte slutar på .pub.

3Vänta på bekräftelse

Jonatan lägger till din nyckel på servern, skapar ditt konto, och sätter upp dina behörigheter (vilka kund-kanaler du har access till). Tar cirka 5 min.

När han bekräftat "klart", gå vidare till steg 4.

4Installera cloudflared

Cloudflared är en liten klient som bygger en säker tunnel mellan din Mac och Republikens server via Cloudflare. Det är vad som låter dig SSH:a från vilket nätverk som helst utan att servern behöver vara öppen mot internet.

Du installerar via Homebrew. Alla tre kommandon nedan körs i samma Terminal-fönster som tidigare. Om du inte har Homebrew, kör först:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Sen installera cloudflared (samma Terminal-fönster):

brew install cloudflared

Verifiera installation (samma Terminal-fönster):

cloudflared --version

Förväntat: en versionsrad typ cloudflared version 2026.5.1.

cloudflared är på plats.

5Konfigurera SSH

Du behöver tala om för SSH att anslutningar till ssh.republiken.cc ska routas genom cloudflared. Det görs i filen ~/.ssh/config.

Kör A först, klistra sen in B Det här steget är uppdelat för att tre saker brukar strula: glömd användarnamn-platshållare, staplade block, och osynliga specialtecken från indrag. Den nya varianten löser alla tre, men kör A före B och håll dig i samma Terminal-fönster.
  1. A. Skriv ditt användarnamn (det Jonatan gav dig). Klistra in raden, tryck Enter, skriv namnet, Enter igen:
    read -p "Mitt anvandarnamn: " RUSER
  2. B. Klistra in hela blocket i samma fönster. Det fyller i din cloudflared-sökväg och ditt namn automatiskt, skriver configen ren (med >, så inget staplas om du kör om), och visar resultatet på sista raden:
    mkdir -p ~/.ssh
    cat > ~/.ssh/config <<EOF
    Host ssh.republiken.cc
    ProxyCommand $(command -v cloudflared) access ssh --hostname %h
    User $RUSER
    IdentityFile ~/.ssh/republiken_ed25519
    IdentitiesOnly yes
    AddKeysToAgent yes
    UseKeychain yes
    EOF
    chmod 600 ~/.ssh/config
    cat ~/.ssh/config
  3. Kontrollera utskriften från sista raden: User ska visa ditt namn (inte tomt och inte en kvarvarande platshållare), och ProxyCommand ska sluta på en riktig sökväg till /cloudflared (t.ex. /opt/homebrew/bin/cloudflared). Ser det rätt ut är steg 5 klart.
Vad gör raderna?
ProxyCommand säger till SSH: "när jag ska ansluta till denna host, kör cloudflared först och låt den bygga tunneln". Den måste anges med full sökväg, annars hittar inte SSH:s sh den. User är ditt unix-användarnamn på servern (det du skrev i steg A). IdentityFile pekar på din SSH-nyckel. IdentitiesOnly yes säkerställer att SSH bara försöker den nyckeln (inte alla nycklar i ~/.ssh/).

6Spara SSH-nyckeln i Keychain

Om du satte en passphrase på din SSH-nyckel i steg 1, kommer du bli frågad om den varje gång du ansluter. Det fungerar inte med Cloudflare-tunneln eftersom prompten skulle ta för lång tid. Spara passphrasen i macOS Keychain så slipper du prompten.

I samma Terminal-fönster, kör:

ssh-add --apple-use-keychain ~/.ssh/republiken_ed25519

Skriv din passphrase en gång när Terminal frågar. Sen sparas den i Keychain och hämtas automatiskt vid varje SSH-anslutning, även om du startar om datorn.

Skippade passphrase? Hoppa över detta steg helt och gå direkt till steg 7.

7Första anslutning (email-OTP)

Nu är det dags att testa hela kedjan. I samma Terminal-fönster, kör:

ssh ssh.republiken.cc

Vad som händer:

  1. cloudflared öppnar din webbläsare på en Cloudflare Access-prompt.
  2. Skriv in din email: DIN-EMAIL@republiken.se. Klicka Send code.
  3. Du får en kod till din email inom 10 sekunder. Skriv in den i webbläsaren.
  4. Webbläsaren visar "Success!". Stäng fliken.
  5. I Terminal får du en host-key-prompt första gången:
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    Skriv yes och tryck Enter.
  6. Du landar på Ubuntu-prompten: DITT-ANVÄNDARNAMN@repserver:~$

Skriv exit för att hoppa ur. Du har nu verifierat hela tunneln.

Cloudflare-tokenen är cachad i 30 dagar. Nästa gång du SSH:ar blir det ingen email-prompt, allt går seamless.
Var token sparas: Cloudflare-tokenen ligger i ~/.cloudflared/ på din Mac. När den expirerar efter 30 dagar går du igenom email-OTP-flow:t en gång till.

8Installera Claude Code

  1. Gå till claude.ai/code i din browser.
  2. Klicka på Download for Mac.
  3. Öppna nedladdad fil och dra Claude Code-ikonen till din Applications-mapp.
  4. Öppna Claude Code från Applications. Första gången frågar Mac om du litar på appen, godkänn.
  5. Logga in med inloggningsuppgifterna Jonatan skickar dig (delat Republiken-konto, alla kollegor delar samma).
Behandla trådar som intern visning: Du kan se vad andra Republiken-kollegor jobbat med via samma konto. De ser också vad du jobbar med. Inget för känsligt klient-material i prompts.

9Konfigurera Remote-mode i Claude Code

Claude Code har två lägen: lokal (jobbar med filer på din Mac) och remote (jobbar med filer på Republikens server via SSH). Du kommer nästan alltid använda remote eftersom kund-data ligger på servern.

Lägg till Republikens server som SSH-host i Claude Code:

  1. I Claude Code, klicka på Code-fliken (uppe till vänster, bredvid Chat och Cowork).
  2. I huvudvyn syns en folder-pickerknapp längst ner. Klicka på den.
  3. I dropdown:n välj "Browse remote folder...".
  4. En dialog "Add SSH connection" öppnas. Fyll i exakt så här:
    Name Flexbert (eller vad du vill, bara för UI:n)
    SSH Host ssh.republiken.cc
    SSH Port (lämna tom, använder default 22)
    Identity File (Private Key) (lämna tom, Claude Code läser ~/.ssh/config automatiskt)
    Klicka Add SSH connection.
  5. Claude Code använder SSH-config-blocket du satte i steg 5, så ProxyCommand + IdentityFile + User följer med automatiskt. Ingen extra konfig behövs i Claude Code.
  6. Du landar i en folder-vy på remote-servern. Du ser bara mappar du har access till (Linux-permissions bestämmer det automatiskt).

Pick:a en kanal att jobba i:

  1. Navigera till Claude-code-sessions/delade-kundkanaler/<klient>/ (t.ex. femcare, cornhole, katshing).
  2. Klicka Open. Claude Code öppnar sessionen rotad i den mappen.
  3. I varje sådan mapp finns en CLAUDE.md som beskriver kanalen, den läses automatiskt och Claude förstår direkt vilken klient, vilka credentials, vilka regler som gäller.
Vad händer "under huven"? Claude Code på din Mac kör Bash, Read, Write osv över SSH som unix-user DITT-ANVÄNDARNAMN på servern. Filer du läser och redigerar lever på remote, inte på din Mac. Allt isoleras automatiskt, du kan ALDRIG av misstag läsa eller skriva i en kanal du inte är tilldelad.

10Första testsession

  1. Öppna Claude Code. Skapa en ny session i en kund-kanal du har access till (t.ex. femcare).
  2. Skriv: "Använd mcp__nanoclaw__list_channels för att visa vilka kanaler jag har access till"
  3. Claude ska svara med en lista som inkluderar dina tilldelade kund-kanaler + din egen kollega-kanal (ditt förnamn).
Om listan dyker upp, allt funkar! Du är inkopplad på Flexberts hjärna och kan börja jobba.

Testa också:

11Vad du kan göra härnäst

Några exempel på prompts som funkar bra:

Pro-tip: Claude ärver Flexberts CLAUDE.md för varje kanal, så stil, ton och regler är samma som när du chattar med honom via Discord. Inget att lära om.

Felsökning

"Permission denied (publickey)" när jag SSH:ar

Jonatan har antingen inte lagt till din nyckel än, eller så är fel IdentityFile specificerad i ~/.ssh/config. Verifiera att nyckelfilen finns:

ls -la ~/.ssh/republiken_ed25519*

Om filen saknas, kör om steg 1. Om filen finns men auth failar, fråga Jonatan om han har lagt till din publika nyckel på servern.

"Broken pipe" eller "Connection to UNKNOWN port 65535"

Det här händer typiskt om passphrase-prompten tar för lång tid och cloudflared-tunneln hinner timeouta. Lösning: spara passphrasen i Keychain (steg 6):

ssh-add --apple-use-keychain ~/.ssh/republiken_ed25519

Försök sedan igen.

Browser-prompten dyker inte upp vid första anslutning

Cloudflared kan ha problem med att öppna webbläsaren automatiskt. Kopiera URL:en som visas i Terminal och klistra in i din webbläsare manuellt.

Email-koden från Cloudflare kommer inte

Kolla skräppost. Om den inte kommer alls, verifiera att din email (DIN-EMAIL@republiken.se) verkligen slutar på @republiken.se (policy:n släpper bara igenom den domänen). Fråga Jonatan om du tror policy:n behöver justeras.

Claude Code säger "Connection failed" när jag försöker Browse remote folder

Verifiera först att ssh ssh.republiken.cc funkar i Terminal. Om det funkar i Terminal men inte i Claude Code, starta om Claude Code helt (+Q) och försök igen. Den läser ~/.ssh/config vid uppstart.

"Tunnel disconnected" eller liknande efter en stund

Cloudflare-tokenen kan ha expirerat (efter 30 dagar). Kör en SSH-test i Terminal:

ssh ssh.republiken.cc

Då triggas en ny browser-OTP-prompt. Logga in, sen funkar Claude Code igen.

Jag är på ett nätverk där Cloudflare blockeras

Mycket sällsynt, men möjligt på vissa restriktiva företagsnätverk. Försök från mobilt nät eller annat nätverk. Om problemet kvarstår, ping:a Jonatan.

Senast uppdaterad: 2026-06-09 (härdat steg 5 + rekommenderar tom passphrase)