GCP连接finalshell
GCP实例配置SSH密码登录教程 - FinalShell连接指南
本文介绍如何将GCP(Google Cloud Platform)实例从默认的SSH密钥认证改为密码认证,并使用FinalShell成功连接。
前言
GCP默认使用SSH密钥认证,但有时我们需要使用密码登录更加方便。本文将详细介绍如何修改SSH配置以支持密码登录。
准备工作
- 一个运行中的GCP实例
- 能够通过GCP控制台SSH连接到实例
- 本地安装FinalShell客户端
操作步骤
1. 通过GCP控制台连接实例
- 登录 GCP Console
- 进入 Compute Engine > VM实例
- 点击实例右侧的 “SSH” 按钮,打开浏览器内终端
2. 设置用户密码
首先为你的用户设置密码:
1 | |
输入两次新密码,确保记住它。
注意:不建议为root用户设置密码并允许root登录,这会带来安全风险。
3. 修改SSH配置文件
编辑SSH服务器配置文件:
1 | |
如果你习惯使用vi编辑器,也可以用:
sudo vi /etc/ssh/sshd_config
4. 修改关键配置项
在配置文件中找到以下配置项并修改(如果没有则添加):
1 | |
特别注意:KbdInteractiveAuthentication 这一项必须设为 yes,否则会导致密码认证失败!
5. 检查配置文件中的Include指令
有些系统会在配置文件开头包含其他配置文件:
1 | |
如果看到类似 Include /etc/ssh/sshd_config.d/*.conf 的行,需要检查那些文件:
1 | |
确保这些文件中没有与你的配置冲突的设置。
6. 验证并重启SSH服务
1 | |
7. 配置FinalShell连接
打开FinalShell,配置新连接:
点击工具栏的 “连接” 按钮
选择 SSH连接(Linux)
填写连接信息:
- 名称:自定义(如:GCP-MyServer)
- 主机:GCP实例的外部IP地址
- 端口:22
- 认证方式:选择 “密码”
- 用户名:你的Linux用户名
- 密码:刚才设置的密码
点击 “确定” 保存
双击连接即可
常见问题排查
问题1:一直提示输入密码,输入正确也无法登录
原因:KbdInteractiveAuthentication 设置为 no
解决方法:
1 | |
确保这一行为:
1 | |
然后重启SSH服务:
1 | |
问题2:连接超时
可能原因:
- GCP防火墙未开放22端口
- 实例外部IP地址错误
解决方法:
- 检查 VPC网络 > 防火墙规则
- 确保有允许TCP端口22的入站规则
问题3:配置修改后仍无法生效
排查步骤:
- 检查配置文件中是否有重复配置项
- 查看SSH日志定位问题:
1
2
3sudo tail -f /var/log/auth.log
# 或者
sudo journalctl -u sshd -f - 尝试从命令行测试连接:
1
ssh -v 用户名@实例IP
安全建议
⚠️ 允许密码登录会降低安全性,建议采取以下措施:
1. 使用强密码
- 至少12位字符
- 包含大小写字母、数字和特殊字符
- 不使用常见单词或个人信息
2. 限制SSH访问IP
在GCP防火墙规则中:
- 不要使用
0.0.0.0/0(允许所有IP) - 仅允许你的固定IP或公司IP段访问
3. 安装Fail2ban防止暴力破解
1 | |
4. 更改SSH默认端口(可选)
1 | |
记得在GCP防火墙中开放新端口,并关闭22端口。
5. 定期更新系统
1 | |
SSH认证方式对比
密钥认证 vs 密码认证
| 特性 | 密钥认证 | 密码认证 |
|---|---|---|
| 安全性 | 高(几乎无法暴力破解) | 较低(容易被暴力破解) |
| 便捷性 | 高(无需输入密码) | 中(每次需要输入) |
| 配置难度 | 稍复杂(需要生成和配置密钥) | 简单(只需设置密码) |
| 推荐场景 | 生产环境、自动化脚本 | 临时访问、学习测试 |
关键配置项说明
1 | |
提示:可以同时启用密钥认证和密码认证,SSH客户端会优先尝试密钥认证,如果没有密钥才会提示输入密码。
总结
通过修改 sshd_config 配置文件,我们可以轻松地在GCP实例上启用SSH密码认证。关键点是确保以下三项都设置为 yes:
PasswordAuthentication yesKbdInteractiveAuthentication yesUsePAM yes
配置完成后,就可以使用FinalShell等SSH客户端通过密码方便地连接GCP实例了。
但请记住,在生产环境中,密钥认证仍然是更安全的选择。如果使用密码认证,务必采取额外的安全措施。
相关文章推荐:
- SSH密钥认证配置教程
- Linux服务器安全加固指南
- Fail2ban配置与使用
有问题欢迎在评论区讨论!