Claude Code на linux-сервере

SSH-подключение
Подключение 
 Host: 62.84.181.155 или 22.claude.fitnessmama.md 
 
 Вход по паролю:  ssh <username>@<host> 
 Пример: 
 ssh olesya@62.84.181.155 
 
 Создание ssh-ключа 
 Примечание: в примерах имя ключа - claude_key.  Если вы назовёте ключ иначе, не забудьте учесть это в тех командах, где встречается " claude_key " или " claude_key.pub " 
 
 Windows 
 
 Запускаем Powershell  от имени администратора . 
 Создаём папку для ключей: 
 
 if (!(Test-Path $env:USERPROFILE\.ssh)) {

       Write-Host "Папка .ssh не найдена — создаём её..." -ForegroundColor Yellow

       New-Item -ItemType Directory -Path $env:USERPROFILE\.ssh

       Write-Host "Папка .ssh создана" -ForegroundColor Green

   } else {

       Write-Host "Папка .ssh уже существует" -ForegroundColor Green

   } 
 
 Создаём SSH-ключ:      
 
 $keyPath = "$env:USERPROFILE\.ssh\claude_key"
if (!(Test-Path $keyPath)) {
 Write-Host "Создаём новый SSH-ключ..." -ForegroundColor Yellow
 ssh-keygen -t ed25519 -f $keyPath -N ""
 Write-Host "SSH-ключ создан!" -ForegroundColor Green
} else {
 Write-Host "SSH-ключ уже существует: $keyPath" -ForegroundColor Green
} 
 В директории C:\Users\<ваш юзернейм>\.ssh появятся файлы claude_key и claude_key.pub 
 
 
 
 MacOS/Linux 
 
 Открываем терминал. 
 Создаем папку для ключей: 
 
 SSH_DIR="$HOME/.ssh"

if [ ! -d "$SSH_DIR" ]; then
 echo "Папка .ssh не найдена — создаём её..."
 mkdir -p "$SSH_DIR"
 chmod 700 "$SSH_DIR"
 echo "Папка .ssh создана"
else
 echo "Папка .ssh уже существует"
fi 
 
 Создаем   SSH-ключ: 
 
 KEY_PATH="$HOME/.ssh/claude_key"

if [ ! -f "$KEY_PATH" ]; then
 echo "Создаём новый SSH-ключ..."
 ssh-keygen -t ed25519 -f "$KEY_PATH"
 echo "SSH-ключ создан!"
else
 echo "SSH-ключ уже существует: $KEY_PATH"
fi 
 В директории /home/<ваш юзернейм>/.ssh появятся файлы claude_key и claude_key.pub 
 
 
 
 
 Копирование публичного ключа на сервер 
 Windows 
 У себя на компьютере в Powershell: 
 type $env:USERPROFILE\.ssh\claude_key.pub | ssh <user>@62.84.181.155 "cat >> ~/.ssh/authorized_keys" 
 
 MacOS/Linux 
 В терминале: 
 cat ~/.ssh/claude_key.pub | ssh <user>@62.84.181.155 "cat >> ~/.ssh/authorized_keys" 
 
 Настройка удобного алиаса 
 
 Windows 
 В Powershell от имени администратора: 
 # Путь к SSH-директории и config
$sshDir = "$env:USERPROFILE\.ssh"
$configPath = "$sshDir\config"

if (!(Test-Path $sshDir)) {
 New-Item -ItemType Directory -Path $sshDir | Out-Null
}

if (!(Test-Path $configPath)) {
 New-Item -ItemType File -Path $configPath | Out-Null
}

# Блок для добавления (ЗАМЕНИ <username>)
$block = @"
Host claude
 HostName 22.claude.fitnessmama.md
 User <username>
 IdentityFile ~/.ssh/claude_key
 IdentitiesOnly yes
"@

$content = Get-Content $configPath -Raw
if ($content -notmatch "Host claude") {
 Add-Content -Path $configPath -Value "`n$block"
 Write-Host "Конфигурация добавлена"
} else {
 Write-Host "Host claude уже есть в config"
}

icacls $configPath /inheritance:r | Out-Null
icacls $configPath /grant:r "$($env:USERNAME):(R,W)" | Out-Null 
   
 
 
 MacOS/Linux 
 В терминале: 
 # Путь
SSH_DIR="$HOME/.ssh"
CONFIG_FILE="$SSH_DIR/config"

mkdir -p "$SSH_DIR"
chmod 700 "$SSH_DIR"

touch "$CONFIG_FILE"
chmod 600 "$CONFIG_FILE"

# Добавляем блок (ЗАМЕНИ <username>)
if ! grep -q "Host claude" "$CONFIG_FILE"; then
cat >> "$CONFIG_FILE" <<EOF

Host claude
 HostName 22.claude.fitnessmama.md
 User <username>
 IdentityFile ~/.ssh/claude_key
 IdentitiesOnly yes
EOF
 echo "Конфигурация добавлена"
else
 echo "Host claude уже есть в config"
fi 
   
 
 После создания такого конфига можно не писать ssh <username>@<host> или scp <username>@<host>. 
 Достаточно ssh claude или scp claude. Пароль так же не будет нужен, если не выполняете команды на сервере с sudo

Синхронизация Syncthing
