SSH (Secure Shell) 是一种加密的网络协议,用于安全地访问和管理远程计算机。以下是 SSH 的入门知识:
基本概念
- SSH:Secure Shell 的缩写,提供安全的远程登录和执行命令
- 客户端:发起连接的一方(通常是你的本地计算机)
- 服务器:接受连接的一方(远程计算机)
基本用法
ssh username@hostname # 连接远程服务器
ssh -p 2222 username@hostname # 如果服务器使用非默认端口(默认是22)
密钥认证(推荐)
生成密钥对
ssh-keygen -t rsa -b 4096
将公钥复制到服务器
ssh-copy-id username@hostname
常用选项
-v:详细模式(用于调试)-X:启用X11转发(图形界面应用)-L:本地端口转发-R:远程端口转发-N:不执行远程命令(用于端口转发)
配置文件
在 ~/.ssh/config 中可以创建快捷方式:
Host myserver
HostName example.com
User username
Port 2222
IdentityFile ~/.ssh/mykey
之后只需输入:
ssh myserver
文件传输
使用 scp 或 sftp 命令:
# 复制本地文件到远程
scp localfile username@hostname:/remote/path
# 从远程复制文件到本地
scp username@hostname:/remote/path localfile
安全建议
- 禁用 root 直接登录
- 使用密钥认证而非密码
- 更改默认 SSH 端口
- 使用 fail2ban 防止暴力破解
- 保持 SSH 客户端和服务器软件更新
常见问题解决
- 连接超时:检查网络、防火墙和服务器是否运行
- 权限问题:确保
~/.ssh目录权限为 700,密钥文件为 600 - 主机密钥变更:删除
~/.ssh/known_hosts中对应条目
掌握这些基础知识后,你就可以安全地管理远程服务器了!