macOS 上开启 SSH 服务

在 macOS 上开启 SSH 服务可以通过系统偏好设置或命令行完成。


方法 1:通过系统偏好设置启用 SSH

  1. 打开"系统偏好设置"

    • 点击屏幕左上角的 Apple 菜单 > 系统设置 (或 系统偏好设置,取决于 macOS 版本)。
    • 选择 "通用" > "共享"(在较新版本中可能需要向下滚动)。
  2. 启用"远程登录"

    • 在"共享"设置中,勾选 "远程登录"(即 SSH 服务)。
    • 可以选择允许 "所有用户""仅这些用户" 访问(默认仅允许管理员)。
  3. (可选)允许完全磁盘访问

    • 如果需要远程用户访问整个磁盘,勾选 "允许远程用户对磁盘进行完全访问"
  4. 记录 SSH 登录命令

    • 在"远程登录"下方会显示类似 ssh username@hostname 的命令(如 ssh user@192.168.1.100),可用于其他设备连接。

方法 2:通过命令行启用 SSH

  1. 启动 SSH 服务

    bash 复制代码
    sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
    • 输入管理员密码确认。
  2. 检查 SSH 服务状态

    bash 复制代码
    sudo launchctl list | grep ssh
    • 如果显示 com.openssh.sshd,说明服务已运行。
  3. 配置防火墙(如有必要)

    • 默认情况下,macOS 防火墙可能阻止 SSH 连接。
    • 前往 "系统设置" > "网络" > "防火墙",确保允许 SSH(端口 22)通过。

验证 SSH 是否启用

  • 在另一台设备上尝试连接:

    bash 复制代码
    ssh username@your_mac_ip

    首次连接时会提示确认主机密钥,输入 yes 后再输入密码即可登录。


注意事项

  1. 安全性

    • 仅允许可信用户访问,避免暴露到公网。
    • 建议使用 SSH 密钥认证 替代密码登录(参考 ssh-keygenssh-copy-id)。
  2. 关闭 SSH

    • 如需禁用,取消勾选 "远程登录" 或运行:

      bash 复制代码
      sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
  3. 配置文件路径

    • SSH 配置文件位于 /etc/ssh/sshd_config,修改后需重启服务:

      bash 复制代码
      sudo kill -HUP $(cat /var/run/sshd.pid)

如果需要更高级的配置(如更改端口、禁用密码登录),可进一步编辑 sshd_config 文件。

相关推荐
一只积极向上的小咸鱼3 小时前
Codex 在 VS Code + ModelArts 场景下的登录与配置总结
linux·运维·windows
Waay7 小时前
Linux Shell 知识点考评(一):grep 文本搜索(附答案)
linux·运维·服务器
碧海银沙音频科技研究院8 小时前
基于VMware虚拟机ubuntu开发博通BK7258方法
linux·运维·ubuntu
扬帆破浪12 小时前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:macOS首次启动报无法验证 开发者签名与公证的现实做法
人工智能·macos·开源·知识图谱
谁似人间西林客12 小时前
工厂大脑如何让汽车制造告别“救火式”运维?
运维·汽车·制造
irpywp12 小时前
合盖断网打断后台计算,Modafinil:一款防休眠菜单栏工具,让 Mac 闭眼继续跑 Agent
macos·ios·开源·github
飞飞传输13 小时前
数字化科研提速关键 构建安全可控一体化跨网数据传输体系
大数据·运维·安全
wanhengidc13 小时前
服务器中带宽的重要性
运维·服务器·网络·安全·web安全
云游牧者14 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查
程序员老邢14 小时前
【技术底稿 32】Nginx 经典大坑复盘:本机公网域名自环代理,导致接口返回首页 / 404 实战排障
java·运维·nginx·前后端分离·技术底稿·后端部署