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
No Comments