如何在VPS上快速搭建SSH服务
卡尔云官网
www.kaeryun.com
在VPS(虚拟专用服务器)上搭建SSH(安全套接sstream)服务是一个非常实用的操作,可以帮助你安全地远程访问服务器或进行自动化脚本操作,以下是一步一步的指南,帮助你轻松完成这个过程。
安装SSH相关依赖项
在VPS上运行SSH服务之前,你需要先安装一些必要的依赖项,这些依赖项通常由包管理器(如apt-get
或dnf
)提供。
-
安装系统依赖项
- 进入VPS的控制台。
- 运行以下命令安装系统依赖项:
sudo apt-get update && sudo apt-get install -y libssh2-ssl-dev
这里使用的是
libssh2-ssl-dev
,而不是ssh
,因为ssh
通常是旧版本。
-
启用自动更新
- 运行以下命令启用自动更新:
sudo apt-get install -y apt-auto sudo apt-get install -y ca-certificates
- 运行以下命令启用自动更新:
-
设置root权限
- 作为root用户,确保SSH目录有适当的权限:
sudo chown -R rwxrwxrwxrwx root:root /etc/ssh sudo chown -R rwxrwxrwxrwx root:root /var/run
- 作为root用户,确保SSH目录有适当的权限:
配置SSH服务
我们需要配置SSH服务器,使其能够被其他用户访问。
-
访问SSH服务器的地址
- 在VPS控制台中,找到SSH服务的启动脚本,它会指向
localhost
,比如~/***/.ssh/sshd.service
。 - 修改文件路径,使其指向
localhost
以外的地址。nano /etc/ssh/sshd_config
User root HostName ${MachineName}
保存并退出编辑器。
- 在VPS控制台中,找到SSH服务的启动脚本,它会指向
-
设置默认用户和端口
- 修改默认用户和端口设置:
nano /etc/ssh/sshd_config
User root HostName ${MachineName} User root Port 22 PermitRootLogin yes
保存并退出。
- 修改默认用户和端口设置:
-
启用SSH服务
- 在控制台运行以下命令启用SSH服务:
sudo systemctl enable sshd
- 在控制台运行以下命令启用SSH服务:
生成公钥并添加到系统
SSH服务启用后,用户可以通过公钥远程登录。
-
生成公钥
- 在终端中运行以下命令生成公钥:
ssh-keygen -t rsa -b 4096
这会生成一个RSA密钥对,包含
public-key.pem
和private-key.pem
文件。
- 在终端中运行以下命令生成公钥:
-
创建用户目录
- 创建一个用户目录并赋予root权限:
sudo mkdir -p /home/user sudo chown -R rwxrwxrwxrwx root:root /home/user
- 创建一个用户目录并赋予root权限:
-
生成并添加公钥
- 在终端中运行以下命令生成连接字符串,并添加到
~/.ssh/authorized_keys
文件:ssh -i /home/user/public-key.pem -p 22
然后编辑
~/.ssh/authorized_keys
文件,添加以下内容:ssh-rsa AAAAB3NzaC1yc2E... your-pubkey-here ...user@localhost
保存并退出。
- 在终端中运行以下命令生成连接字符串,并添加到
-
验证公钥
- 在终端中运行以下命令验证公钥:
ssh -i ~/.ssh/authorized_keys root@localhost
如果连接成功,会显示
authorized_keys_for_root@localhost
的提示。
- 在终端中运行以下命令验证公钥:
测试SSH连接
-
连接到SSH服务器
- 在终端中运行以下命令连接到SSH服务器:
ssh root@localhost
你应该看到类似以下的界面:
ssh>
- 在终端中运行以下命令连接到SSH服务器:
-
执行命令
- 在终端中输入命令,执行一些操作,
echo "Hello, VPS!" >> /var/log/auth.log
然后退出:
exit
- 在终端中输入命令,执行一些操作,
-
断开连接
- 输入
Ctrl + D
或exit
,然后输入exit
退出SSH。
- 输入
优化SSH配置
-
设置默认端口
- 修改默认端口为69301:
sudo nano /etc/ssh/sshd_config
User root HostName ${MachineName} User root PermitRootLogin yes Port 69301
保存并退出。
- 修改默认端口为69301:
-
启用SSH代理
- 如果你使用的是Debian或Ubuntu,启用SSH代理:
sudo apt-get install -y ssh-implant sudo nano /etc/ssh/sshd_config
User root HostName ${MachineName} User root PermitRootLogin yes IdentitiesOnly yes SSHAgent yes
保存并退出。
- 如果你使用的是Debian或Ubuntu,启用SSH代理:
-
配置安全组
- 在VPS控制台中,启用安全组,允许SSH连接:
sudo apt-get install -y networkManager sudo network-manager interface set bridge lo up sudo network-manager interface set eth0 up
- 在VPS控制台中,启用安全组,允许SSH连接:
-
配置自动重启
- 添加自动重启脚本,确保SSH服务在重启时正常工作:
sudo nano /etc/init.d/sshd.d/Makefile
Include <init.d/sshd> After=network.target
保存并退出。
- 添加自动重启脚本,确保SSH服务在重启时正常工作:
注意事项
-
权限问题
确保SSH目录和相关文件有适当的权限,避免被非授权用户访问。
-
定期检查
定期检查SSH配置文件和日志,确保服务正常运行。
-
备份
定期备份SSH配置文件和公钥,防止丢失。
通过以上步骤,你已经成功在VPS上搭建了SSH服务,并能够安全地远程访问服务器或进行自动化操作,SSH服务是一个强大的工具,能够帮助你提升安全性,同时提高工作效率。
卡尔云官网
www.kaeryun.com