Linux ssh远程连接教程_Linux安全登录服务器步骤

发布时间 - 2025-12-15 00:00:00    点击率:
SSH远程连接核心是安全稳定可验证,需确保服务运行、端口监听、防火墙放行;推荐密钥登录并禁用密码认证,辅以非root账户、端口修改及config简化连接。

Linux 通过 SSH 远程连接服务器,核心是安全、稳定、可验证。只要密钥或密码正确,服务端 SSH 正常运行,网络可达,就能连上。重点不在“怎么输命令”,而在于“怎么连得稳、防得住、管得好”。

确认服务端 SSH 已启用并监听

远程连不上,八成是服务没起来或被防火墙拦了。登录服务器本地(或控制台),执行:

  • 检查 SSH 服务状态sudo systemctl status sshd(CentOS/RHEL 用 sshd,Ubuntu/Debian 通常也是 sshd;若显示 inactive,运行 sudo systemctl start sshdenable 开机自启)
  • 确认监听端口sudo ss -tlnp | grep :22(默认端口是 22;如改过端口,比如 2222,就查 :2222
  • 检查防火墙放行:Ubuntu 用 sudo ufw status,确认 22(或自定义端口)为 ALLOW;CentOS 7+ 用 sudo firewall-cmd --list-ports,缺则加:sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload

客户端连接:密码登录快速验证

首次连接建议先用密码方式确认通路是否畅通:

  • 在本地终端输入:ssh username@server_ip(例如 ssh john@192.168.1.100
  • 首次连接会提示 “The authenticity of host … can’t be established”,输入 yes 继续(这是记录服务器公钥指纹,防中间人攻击)
  • 输入对应用户的密码(不是 root 密码,除非你用的是 root 账户),成功即进入 shell
  • 注意:若提示 Connection refused,说明 SSH 服务未运行或端口不对;若提示 Connection timed out,大概率是网络不通或防火墙拦截

升级为密钥登录:更安全、免密码

密码登录易被暴力破解,密钥对(public/private key)才是生产环境标准做法:

  • 生成密钥对(在本地电脑执行):ssh-keygen -t ed25519 -C "your_email@example.com"(一路回车,默认保存在 ~/.ssh/id_ed25519
  • 上传公钥到服务器ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip(自动追加到 ~/.ssh/authorized_keys
  • 禁用密码登录(可选但推荐):登录服务器后,编辑 /etc/ssh/sshd_config,确保以下两行:

PubkeyAuthentication yes
PasswordAuthentication no
改完必须执行sudo systemctl restart sshd

之后再 ssh 就自动走密钥,无需输密码——前提是私钥权限严格(chmod 600 ~/.ssh/id_ed25519)。

进阶安全建议:不连错、不裸奔

连得上只是开始,长期运维还要防误操作和外部风险:

  • 别直接用 root 登录:sshd_config 中设 PermitRootLogin no,用普通用户 + sudo 管理
  • 改默认端口(可选):把 Port 22 改成其他高位端口(如 2244),能大幅减少自动化扫描攻击(改后记得同步更新防火墙规则)
  • 用 config 文件简化连接:在本地 ~/.ssh/config 添加:

Host myserver
HostName 192.168.1.100
User john
Port 22
IdentityFile ~/.ssh/id_ed25519

以后只需输入 ssh myserver 即可直连。

基本上就这些。SSH 本身不复杂,但配置细节容易忽略——尤其权限、防火墙、服务状态这三关,卡住时优先排查它们。


# linux  # word  # centos  # 防火墙  # 电脑  # 端口  # ubuntu  # ai  # public  # private  # copy  # ssh  # debian  # 自动化  # 首次  # 可选  # 服务端  # 的是  # 进阶  # 这是  # 公钥  # 就能  # 才是  # 只需 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  如何在建站主机中优化服务器配置?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  想要更高端的建设网站,这些原则一定要坚持!  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Python文本处理实践_日志清洗解析【指导】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  PHP 500报错的快速解决方法  在线制作视频网站免费,都有哪些好的动漫网站?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  微信h5制作网站有哪些,免费微信H5页面制作工具?  南京网站制作费用,南京远驱官方网站?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  网站建设要注意的标准 促进网站用户好感度!  装修招标网站设计制作流程,装修招标流程?  详解jQuery中的事件  如何在万网开始建站?分步指南解析  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  微信小程序 wx.uploadFile无法上传解决办法  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  如何用虚拟主机快速搭建网站?详细步骤解析  微信小程序 五星评分(包括半颗星评分)实例代码  如何在香港免费服务器上快速搭建网站?  原生JS获取元素集合的子元素宽度实例  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  三星、SK海力士获美批准:可向中国出口芯片制造设备  网站建设保证美观性,需要考虑的几点问题!  如何在IIS服务器上快速部署高效网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  香港服务器选型指南:免备案配置与高效建站方案解析  公司网站制作价格怎么算,公司办个官网需要多少钱?  Firefox Developer Edition开发者版本入口  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何在腾讯云服务器上快速搭建个人网站?  Laravel怎么实现模型属性的自动加密  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)