Debian10配置ssh

本文详细介绍了如何在Debian10上配置SSH服务,包括安装与设置SSH服务器端,更改默认端口,限制只允许特定IP(10.10.100.51)访问,实现Chinaskill20用户免密码登录,以及管理SSH密钥,包括添加和删除公钥,以及禁用公钥认证。通过这些步骤,可以增强SSH连接的安全性和便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Debian10配置SSH

 

     任务点

  1. 安装ssh
  2. 设置仅允许10.10.100.51访问 其他请求都拒绝
  3. 设置在用户Chinaskill20环境下实现免密码登录

     

首先  先安装ssh服务端

apt install openssh-server           我这里已经安装完成了

然后修改ssh配置文件     修改默认端口为2222     用户可以使用root账户登录

vim /etc/ssh/sshd.conf

使用ss -nutlp | grep  ssh        查看监听端口

修改仅允许10.10.100.51登录

vim /etc/hosts.deny

然后重新启动ssh服务     systemctl restart ssh

客户机上要安装ssh客户端

apt install openssh-client

用Client:10.10.100.51  进行测试登录
 

成功登录

然后进行免密登录配置

在Client上执行命令   ssh-keygen

执行ssh-copy-id root@10.10.100.254 -p 2222

再ssh -p 2222 root@10.10.100.254就可以实现免密登录了

删除密钥

执行ssh-keygen -R 10.10.100.254

就删除成功了

下次登录会提示选择yes就可以了

关闭主机的秘钥登录方式

修改/etc/ssh/sshd_config,将PubkeyAuthentication改为no

vim /etc/ssh/sshd_config

修改完要重启服务

systemctl restart ssh

然后进行测试

可以看到需要输入密码

 

<think>好的,用户之前在问如何修改Debian 12.1的SSH端口号,我已经给出了详细步骤。现在用户的新问题是在Debian 12.1上配置SSH服务的详细步骤。需要结合之前的回答和提供的引用内容来整合答案。 首先,用户提到的引用中有几个关键点:安装SSH服务、修改配置允许root远程登录、以及配置双因素认证。虽然用户现在的问题是配置SSH服务,但可能需要涵盖这些方面。 回顾之前的回答,修改端口、防火墙设置、重启服务这些步骤已经覆盖了基本配置。现在用户可能需要更全面的配置指南,包括安装、基础配置、安全加固等。 引用1提到安装Debian12时可能已经安装了SSH,如果没有需要手动安装。引用2提到root账户默认不可远程登录,需要修改sshd_config。引用3关于Google Authenticator的双因素认证,属于安全增强部分。 所以,用户的真实需求可能包括:安装SSH服务(如果需要)、基础配置(端口、允许root登录)、安全措施(如双因素认证、防火墙限制)。需要将这些内容整合成一个完整的配置步骤,同时参考之前的回答结构,确保步骤清晰,注意事项到位。 需要注意用户可能已经安装了SSH,但需要确认安装状态。然后配置文件中修改端口、允许root登录、其他安全设置。此外,双因素认证作为可选的高级安全配置,可以放在后面作为扩展步骤。 另外,用户之前的问题中提到了防火墙配置,这里也需要包含进去,比如UFW或iptables的设置。同时,测试连接和故障排查也是必要的步骤。 需要确保每一步都有对应的命令和解释,比如使用sudo权限编辑配置文件,重启服务的方法,备份配置等。注意事项部分要提醒用户备份、测试连接后再关闭原会话,以及处理可能的SELinux问题(虽然Debian默认不启用)。 可能还需要补充如何启用root远程登录,根据引用2的内容,修改PermitRootLogin选项。同时,结合用户之前的回答,确保端口修改和防火墙设置的步骤正确无误。 最后,生成相关问题时要考虑用户可能的后续问题,比如安全加固方法、双因素认证配置、故障排查等,这样用户可以有进一步了解的途径。</think>### 逐步解决方案:Debian 12.1 SSH服务完整配置指南 --- #### **1. 安装SSH服务** 若系统未预装SSH服务(安装时可选择`SSH Server`选项),需手动安装: ```bash sudo apt update sudo apt install openssh-server ``` --- #### **2. 基础配置** **2.1 修改SSH配置文件** ```bash sudo nano /etc/ssh/sshd_config ``` 修改以下关键参数(示例配置): ```bash Port 2222 # 修改默认端口(可选,建议更换默认22端口) PermitRootLogin yes # 允许root远程登录(引用[^2]) PasswordAuthentication yes # 启用密码验证(若需密钥+密码双验证可设为no) LoginGraceTime 60 # 登录超时时间(秒) MaxAuthTries 3 # 单次连接最大认证尝试次数 ``` **2.2 启用双因素认证(可选安全增强)** 结合引用[^3]的Google Authenticator配置: ```bash # 安装依赖 sudo apt install libpam-google-authenticator # 为用户生成验证码 google-authenticator # 在sshd_config中添加: UsePAM yes ChallengeResponseAuthentication yes # 在PAM配置中启用模块: echo "auth required pam_google_authenticator.so" | sudo tee -a /etc/pam.d/sshd ``` --- #### **3. 防火墙配置** **3.1 使用UFW防火墙** ```bash sudo ufw allow 2222/tcp # 开放新SSH端口 sudo ufw reload ``` **3.2 限制IP访问(可选)** 仅允许特定IP访问SSH: ```bash sudo ufw allow from 192.168.1.0/24 to any port 2222 ``` --- #### **4. 重启服务并验证** ```bash sudo systemctl restart ssh sudo systemctl status ssh # 检查服务状态 ``` --- #### **5. 连接测试** ```bash # 测试新端口(保持当前会话勿关闭!) ssh root@server_ip -p 2222 # 若启用双因素认证,需输入密码+动态码 ``` --- #### **6. 安全加固建议** - **密钥登录替代密码** 生成密钥对并禁用密码登录: ```bash ssh-keygen -t ed25519 ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip -p 2222 ``` 配置文件中设置:`PasswordAuthentication no` - **日志监控** 查看SSH登录日志: ```bash sudo journalctl -u ssh --since "1 hour ago" ``` --- ### 注意事项 1. **备份配置文件** ```bash sudo cp /etc/ssh/sshd_config ~/sshd_config.bak ``` 2. **多端口监听** 若需保留原端口过渡,可配置多端口: ```bash Port 22 Port 2222 ``` 3. **SELinux兼容性** Debian默认未启用SELinux,若手动启用需添加端口规则: ```bash semanage port -a -t ssh_port_t -p tcp 2222 ``` ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cc_pwd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值