配置Debain Linux vps 使用ssh登录

新开了vultr的debain 12的linux系统,我记录下完整的ssh设置过程,供自己与大家后面重复使用时参考。

系统配置

root用户登录

首先使用vps部署时的root密码用ssh登录到vps,在终端机运行。

ssh root@<vps ip>

新建账户并赋权

主要是新建一个普通账户,并给其sudo的权限。 在ssh远程连接的vps主机中执行。

adduser <user name>

会提示输入用户密码与用户信息,按提示完成输入。

给该用户sudo的权限。

usermod -aG sudo <user name>

测试设置的情况。

在终端机中新开一个独立的bash终端窗口。

里面连接新用户的bash。

ssh <user name>@<vps ip>

在连接到新用户的ssh vps主机后,

sudo whoami

如果输出是root,说明权限生效了。

修改vps的ssh配置

然后回到root用户的ssh终端窗口里面。

打开ssh规则文件并修改。

nano /etc/ssh/sshd_config

将里面的一下几条改成:

# 1. 允许公钥登录
PubkeyAuthentication yes

# 4. 禁止空密码
PermitEmptyPasswords no

然后重新ssh服务。

sudo systemctl restart ssh

ssh配置

终端机生成与传送密钥

ssh-keygen -t ed25519 -C "你想的备注内容"

然后输入位置与phase等等,我的位置都放在~/.ssh/下面但是不用默认的名称。

通过ssh copy工具直接将公钥复制到vps上去。

ssh-copy-id -i ~/.ssh/<pub key file full name> <user name>@<vps ip>

测试登录

在终端机上尝试用新用户登录

ssh -i <私钥的名称含路径> <user name>@<vps ip>

如果能进vps说明ssh密钥配置ok。

配置ssh默认配置

在终端机的ssh默认目录,一般是~/.ssh/,中编辑其中的config文件

nano ~/.ssh/config

里面追加下面的配置内容:

# name是你想要的vps的别名
Host <name>
    HostName <ip>            # VPS 的真实 IP 或 域名
    User <user name>                        # 登录用户名(root 或其他普通用户)
    Port 22                          # SSH 端口(如果是默认22可以不写)
    IdentityFile ~/.ssh/<私钥名称>   # 指定使用的私钥路径
    ServerAliveInterval 60           # 保持连接,防止闲置掉线(可选推荐)
    ServerAliveCountMax 3            # 掉线重试次数(可选推荐)

尝试用上面的配置文件登录,先退出vps终端,输入exit退出。

然后在终端机上重新登录。

ssh <name>

正常就应该用你的name配置的ssh配置块中的内容登录到新用户的vps中了。

收尾与确认

如果确认上面的新用户是可以登录的,就可以做收尾与确认。

修改vps的ssh安全配置

# 2. 禁止 root 账号直接通过 SSH 登录
PermitRootLogin no

3. 禁止使用纯密码登录(强制走密钥)
PasswordAuthentication no

这里禁用了root的ssh登录,也禁用了密码的ssh登录。

是否禁用密码的ssh登录,可以视自己的需求确定。

内容声明与版权协议

  • 版权协议:本文采用 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享) 协议进行许可。转载、演绎请务必保留作者署名及原文链接,且不得用于商业目的。
  • AI 辅助说明:本博客部分内容(如排版设计、个别局部、特定对话片段等)可能由 AI(LLM大语言模型)辅助生成。作者在此明确声明:本人对文章的核心框架、思想立论与最终呈现拥有绝对主导权与最终解释权。
  • 观点免责:文中明示的由 AI 生成的特定文本、对话输出,仅作为理性探讨以及观点展示,不代表本人真实立场、价值观或事实背书。对于因 AI 幻觉造成的客观事实偏差,请读者审慎甄别。
  • 认知时效性:文章仅代表作者在撰写当下的认知状态与情绪切片。随着个人心智迭代与客观事物发展,作者观点可能发生演变。欢迎基于理性的交流与批评。