Skip to main content

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