VPS 上如何设置 SSH
卡尔云官网
www.kaeryun.com
SSH(SSH协议)是一种安全的远程登录协议,广泛用于服务器之间的通信和远程访问,如果你使用 VPS(虚拟专用服务器)服务,配置 SSH 可以让你方便地远程访问和管理你的服务器,以下是如何在 VPS 上设置 SSH 的详细步骤。
SSH 是什么?
SSH 是一个安全的远程登录协议,允许用户通过加密的隧道连接到服务器,它不仅支持基本的文本传输(ASCII),还支持安全的明文传输(SSHuttle),SSH 还提供了多种安全功能,如认证、加密、认证失败重试等。
配置 SSH 服务器
生成公钥
SSH 的安全性基于公钥基础设施(PKI),你需要先生成一个公钥对(公钥和私钥)。
- 打开终端。
- 运行以下命令生成公钥:
ssh-keygen -t rsa -b 4096
这会创建两个文件:
id_rsa
(私钥)和id_rsa.pub
(公钥)。
添加公钥到用户主机
在用户端(即将连接的机器)添加生成的公钥:
- 运行以下命令,将公钥添加到用户的
~/.ssh/authorized_keys
文件中:echo -e "Host *.*\nUser *@*\nPassphrase *:*\n" > ~/.ssh/authorized_keys
将
id_rsa.pub
文件粘贴到~/.ssh/authorized_keys
的末尾:tail -o ~/.ssh/authorized_keys << 'EOD' Host *.*\nUser *@*\nPassphrase *:*\n ID_rsa.pub EOD
启用 SSH 服务
在 VPS 服务器上启用 SSH 服务:
- 登录到 VPS 的控制面板。
- 找到并启用 SSH 服务,你可以通过以下命令在终端中启用:
systemctl enable ssh
或者通过控制面板中的服务管理器找到 SSH 服务并进行启用。
设置默认 SSH 参数
为了方便用户,通常会设置 SSH 代理(sshd_config),以避免每次连接都需要输入密码。
- 在终端中编辑 SSH 代理配置文件:
nano /etc/ssh/sshd_config
- 添加以下配置,以设置默认的 SSH 参数:
[Global] UserRoot passwordOnly PermittedHosts=.* HostKeyCheck off
保存并退出编辑。
配置用户端 SSH
生成 SSH 私钥
在用户端生成 SSH 私钥:
- 运行以下命令:
ssh-keygen -t rsa -b 4096
这会生成两个文件:
id_rsa
(私钥)和id_rsa.pub
(公钥)。
设置 SSH 公钥
将用户的 SSH 公钥添加到 VPS 的 ~/.ssh/authorized_keys
文件中:
- 找到用户的公钥文件(
id_rsa.pub
),然后在终端中运行:nano ~/.ssh/authorized_keys
输入以下内容,确保公钥文件在末尾:
Host *.*\nUser *@*\nPassphrase *:*\n ID_rsa.pub
保存并退出。
配置 SSH 代理
在用户端配置 SSH 代理:
- 运行以下命令:
ssh -I <public key file> -L localhost:22:$host <remote host>
<public key file>
是用户的公钥文件路径。<remote host>
是 VPS 的主机名或 IP 地址。<remote host>
是连接到的 VPS 机器的主机名或 IP 地址。
测试 SSH 连接
连接到 VPS 服务器:
- 在用户的终端中运行以下命令:
ssh -p <VPS 公钥>
替换
<VPS 公钥>
为用户的公钥文件路径。
常见问题解答
为什么 SSH 连接不起?
- 检查公钥是否正确添加到
authorized_keys
文件中。 - 确保 SSH 服务在 VPS 上已启用。
- 检查公钥文件路径是否正确。
- 确保用户的公钥文件在
authorized_keys
文件末尾。
如何设置 SSH 代理?
在 VPS 上设置 SSH 代理:
- 编辑
sshd_config
配置文件:nano /etc/ssh/sshd_config
- 添加以下内容:
[Global] UserRoot passwordOnly PermittedHosts=.* HostKeyCheck off
- 保存并重启 SSH 服务:
systemctl restart ssh
如何从本地传输文件到 VPS?
使用 SSH 的 scp 功能:
- 在用户的终端中运行以下命令:
ssh -i <VPS 公钥> -p <VPS 公钥>
运行:
scp file1.txt /path/to/vps/file1.txt scp file2.txt /path/to/vps/file2.txt
<VPS 公钥>
是 VPS 的公钥文件路径。<VPS 公钥>
是用户的公钥文件路径。/path/to/vps
是 VPS 的路径。
配置 SSH 在 VPS 上非常简单,只需要按照上述步骤操作即可,一旦配置完成,你就可以轻松地从任何终端访问你的 VPS 服务器,并进行安全的文件传输和管理。
卡尔云官网
www.kaeryun.com