在 Mac 上访问服务器主要通过终端(SSH)或文件传输工具(SFTP/SCP),最佳实践包括使用 SSH 密钥认证替代密码、配置 SSH 配置文件简化连接、利用内置终端或第三方工具(如 iTerm2、Cyberduck)提升效率与安全性。
对于 Mac 无论是访问公司内部的文件服务器、连接远程开发环境,还是管理网站空间,掌握如何高效、安全地访问服务器是一项必备技能,得益于 macOS 强大的 Unix 基础和对多种网络协议的原生支持,Mac 提供了多种灵活且可靠的方式来连接服务器,本文将详细介绍几种最常用、最推荐的方法,并涵盖关键的安全注意事项和常见问题排查。
理解服务器访问协议
在开始连接之前,了解你将要使用的协议至关重要,这决定了你使用的工具和方法:
-
SSH (Secure Shell):
- 用途: 主要用于安全地远程登录到服务器的命令行界面,进行系统管理、文件操作(通过
scp
或sftp
命令)、程序运行等,这是管理 Linux/Unix 服务器、网络设备(如路由器、交换机)的标准方式。 - 端口: 默认端口 22。
- Mac 工具: 终端.app (Terminal.app) 是原生内置且最强大的工具。
- 用途: 主要用于安全地远程登录到服务器的命令行界面,进行系统管理、文件操作(通过
-
SFTP (SSH File Transfer Protocol):
- 用途: 基于 SSH 的安全文件传输协议,用于在本地 Mac 和远程服务器之间安全地上传、下载和管理文件,功能比传统的 FTP 强大且安全得多。
- 端口: 通常与 SSH 相同(端口 22)。
- Mac 工具: 访达 (Finder) 有基本支持,但功能强大的第三方 SFTP 客户端(如 FileZilla, Cyberduck, Transmit)更常用,终端中的
sftp
命令也可用。
-
SMB (Server Message Block) / CIFS (Common Internet File System):
- 用途: 主要用于访问 Windows 文件共享服务器或兼容 SMB 的 NAS(网络附加存储)设备,提供类似本地磁盘的文件共享体验,支持文件锁定、权限管理等。
- 端口: 默认端口 445 (SMB over TCP) 或 139 (NetBIOS over TCP)。
- Mac 工具: 访达 (Finder) 提供优秀的原生集成支持。
-
AFP (Apple Filing Protocol – 已逐渐淘汰):
- 用途: 苹果传统的文件共享协议,主要用于访问较老版本的 macOS Server 或 Time Capsule。强烈建议优先使用 SMB,因为 Apple 已不再积极开发 AFP,新系统默认可能不启用。
- Mac 工具: 访达 (Finder) 支持。
在 Mac 上访问服务器的常用方法
方法 1:使用“终端”进行 SSH 访问 (命令行)
这是技术用户和管理员最核心的方法。
- 打开终端: 前往
应用程序
>实用工具
>终端
。 - 基本连接命令:
ssh username@server_address
username
: 你在服务器上的有效用户名。server_address
: 服务器的 IP 地址 (如168.1.100
) 或域名 (如example.com
或server.example.com
)。
- 首次连接: 首次连接某台服务器时,终端会显示服务器的 RSA 密钥指纹,并询问你是否信任该主机,输入
yes
继续,这会将服务器的公钥保存到你的~/.ssh/known_hosts
文件中,用于后续验证。 - 输入密码: 系统会提示你输入该用户在服务器上的密码,输入时屏幕上不会显示任何字符(这是正常的安全措施),输入完成后按回车。
- 成功登录: 如果用户名和密码正确,你将看到服务器的命令行提示符(通常是
username@hostname:~$
或类似形式),表示你已成功登录,可以执行命令了。 - 使用密钥登录 (更安全,推荐):
- 在本地 Mac 生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
(或-t ed25519
),按提示操作,通常直接回车使用默认路径和空密码(或设置一个强密码保护私钥)。 - 将公钥 (
~/.ssh/id_rsa.pub
或~/.ssh/id_ed25519.pub
) 的内容复制到服务器用户家目录下的~/.ssh/authorized_keys
文件中(如果文件不存在则创建)。 - 之后连接时,使用
ssh -i /path/to/private_key username@server_address
(如果私钥不是默认名称或路径) 或直接ssh username@server_address
(如果使用默认id_rsa
或id_ed25519
),系统会尝试使用密钥登录,无需输入密码(或只需输入私钥的保护密码),这比密码登录安全得多,且方便自动化。
- 在本地 Mac 生成 SSH 密钥对:
方法 2:使用“访达”访问 SMB/AFP 文件共享 (图形界面)
这是访问 Windows 共享或 macOS Server 文件服务最直观的方式。
- 打开访达: 点击 Dock 上的访达图标或按
Command + N
打开新窗口。 - 连接到服务器:
- 方法 A (菜单栏): 在访达窗口顶部的菜单栏,点击
前往
>连接服务器...
(或使用快捷键Command + K
)。 - 方法 B (侧边栏): 如果服务器曾经连接过并已收藏,可能会出现在访达侧边栏的
位置
部分,直接点击即可尝试连接。
- 方法 A (菜单栏): 在访达窗口顶部的菜单栏,点击
- 输入服务器地址:
- 在
服务器地址
输入框中,根据协议输入正确的地址格式:- SMB:
smb://server_address
或smb://server_address/sharename
(直接指定共享名)。smb://192.168.1.100
或smb://fileserver.example.com/SharedDocs
。 - AFP (不推荐):
afp://server_address
或afp://server_address/sharename
。
- SMB:
- 点击
连接
。
- 在
- 选择共享卷 (如果需要): 如果只输入了服务器地址而没有指定共享名,系统会列出服务器上所有可用的共享卷,选择你需要访问的那个。
- 身份验证:
- 输入你在该服务器/共享卷上的有效
用户名
和密码
。 - 重要: 如果需要将密码保存到钥匙串,勾选
在我的钥匙串中记住此密码
,这可以避免下次连接时重复输入密码,但请确保你的 Mac 账户安全。 - 点击
连接
。
- 输入你在该服务器/共享卷上的有效
- 成功访问: 成功连接后,服务器的共享卷会像本地磁盘一样挂载到你的桌面上和访达的
位置
侧边栏中,你可以像操作本地文件夹一样浏览、复制、移动、打开其中的文件。
方法 3:使用第三方 FTP/SFTP 客户端 (图形界面 – 文件传输专用)
对于需要频繁进行文件传输(尤其是 SFTP)或需要更高级功能的用户,专用客户端是更好的选择,推荐几个流行且可靠的选择:
- FileZilla (免费开源):
- 支持 FTP, FTPS, SFTP。
- 跨平台 (Mac, Windows, Linux)。
- 界面直观,功能强大,支持站点管理器、队列传输、文件比较等。
- 下载地址
- Cyberduck (免费 + 付费版):
- 原生 Mac 应用,界面与 macOS 风格融合好。
- 支持广泛的协议:FTP, SFTP, WebDAV, Amazon S3, Azure, OpenStack Swift, Google Drive, Dropbox 等。
- 免费版功能已足够强大。
- 下载地址
- Transmit (付费 – Panic 出品):
- 被公认为 macOS 上最优秀的 FTP/SFTP 客户端之一,以速度、稳定性和优雅的界面著称。
- 支持 FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure, Google Cloud Storage 等。
- 提供免费试用。
- 下载地址
使用步骤 (以 SFTP 为例,各客户端类似):
- 打开客户端软件。
- 新建一个连接/站点 (Site)。
- 选择协议 (如 SFTP)。
- 输入服务器地址 (Host)、端口 (Port, 默认 SFTP 是 22)。
- 输入用户名 (Username) 和密码 (Password),客户端通常也支持密钥认证(更安全)。
- (可选) 设置默认远程路径 (Remote path) 和本地路径 (Local path)。
- 保存站点信息以便下次快速连接。
- 点击连接 (Connect),连接成功后,界面通常分为左右两栏:本地文件系统和远程服务器文件系统,你可以通过拖放或右键菜单进行文件上传、下载和管理。
关键安全注意事项 (E-A-T 核心体现)
- 优先使用加密协议: 绝对避免使用不加密的 FTP 或 Telnet。始终优先选择 SSH (用于命令行)、SFTP (用于文件传输) 和 SMB 3 (或更高版本,确保加密),这些协议在传输过程中加密你的数据和密码,防止被窃听。
- 强密码策略: 为服务器账户设置长、复杂且唯一的密码,使用密码管理器生成和存储,避免在多个服务中使用相同密码。
- SSH 密钥认证: 对于 SSH/SFTP 访问,强烈推荐使用 SSH 密钥对代替密码登录,公钥放在服务器,私钥妥善保管在本地(最好用密码加密保护私钥文件),这比密码更安全,且能防止暴力破解。
- 保持软件更新: 确保你的 macOS 系统、终端、访达以及使用的任何第三方客户端软件都及时更新到最新版本,以修复已知的安全漏洞。
- 谨慎对待未知主机密钥: 使用 SSH 首次连接服务器时,务必仔细核对终端提示的主机密钥指纹,如果指纹与服务器管理员提供的或你之前记录的不一致,切勿连接!这可能表示中间人攻击 (Man-in-the-Middle Attack)。
- 防火墙设置: 确保你的 Mac 防火墙(
系统设置
>网络
>防火墙
)和服务器端的防火墙都正确配置,只允许必要的端口(如 22, 445)和来源 IP 访问。 - 最小权限原则: 使用权限尽可能低的账户访问服务器,避免日常使用 root 或管理员账户进行普通操作。
常见问题与故障排查
- “连接超时” 或 “无法连接”:
- 检查服务器地址 (IP/域名) 和端口号是否正确。
- 确认服务器是否在线且网络可达 (
ping server_address
在终端测试)。 - 检查本地网络连接(Wi-Fi/有线是否正常)。
- 检查服务器端和本地防火墙是否阻止了连接端口。
- 确认你使用的协议(SSH, SMB, SFTP)在服务器端已启用。
- “密码被拒绝” 或 “认证失败”:
- 仔细检查用户名和密码是否输入正确(注意大小写)。
- 确认该用户账户在服务器上存在且未被禁用。
- 如果使用 SSH 密钥,确认公钥已正确添加到服务器的
~/.ssh/authorized_keys
文件中,并且文件权限正确(通常应为600
或644
)。 - 尝试重置服务器上的用户密码(如果你有权限)。
- 访达连接 SMB 速度慢或卡顿:
- 尝试在访达连接服务器时,在地址前加上
cifs://
代替smb://
(有时有奇效)。 - 在
系统设置
>网络
> 选择你的网络连接 >高级
>WINS
选项卡,尝试在NetBIOS 名称
栏填写一个简单的名字(如你的电脑名),在工作组
栏填写服务器所在的工作组(通常是WORKGROUP
)。 - 确保 macOS 和服务器端的 SMB 版本兼容,较新的 macOS 默认使用 SMB3,兼容性通常较好。
- 尝试在访达连接服务器时,在地址前加上
- 文件权限问题:
- 在命令行 (
ls -l
) 或访达/客户端(查看文件“简介”或“属性”)中检查服务器上文件/目录的所有者和权限设置。 - 确认你使用的账户拥有足够的权限(读、写、执行)来访问或修改目标文件/目录,可能需要联系服务器管理员调整权限。
- 在命令行 (
Mac 提供了从简单图形界面到强大命令行的多种途径来访问不同类型的服务器,选择哪种方法取决于你的具体需求(命令行管理、文件浏览、批量传输)和服务器支持的协议(SSH, SFTP, SMB)。始终将安全性放在首位,优先使用加密协议(SSH/SFTP/SMB3+),采用强密码或密钥认证,并保持软件更新。 掌握这些方法和最佳实践,你将能够高效、安全地在你的 Mac 上管理和利用各种服务器资源。
引用说明:
- 本文中关于 SSH、SFTP、SMB、AFP 协议的标准定义和默认端口信息,参考自互联网工程任务组 (IETF) 的相关协议规范文档 (如 RFC 4251, RFC 4252, RFC 4253, RFC 4254 for SSH; RFC 959 for FTP, RFC 2228 for FTP Security Extensions; RFC 1001, RFC 1002 for NetBIOS; MS-SMB2, MS-SMB Protocol Documents for SMB; Apple Filing Protocol documentation)。
- macOS 内置工具(终端、访达)的功能描述基于 Apple 官方 macOS 用户指南和开发者文档。
- 推荐的第三方软件 (FileZilla, Cyberduck, Transmit) 信息来源于其各自的官方网站。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7031.html