通过mac终端使用ssh协议可安全连接远程服务器进行文件传输或系统管理。首先确认macos自带openssh客户端可用,输入ssh -v验证;接着用ssh 用户名@ip地址命令连接,默认端口22;若服务器使用非标准端口,需加-p参数指定;为实现免密登录,可生成rsa密钥对并上传公钥至服务器authorized_keys文件;最后通过编辑~/.ssh/config配置别名、用户、端口等信息,简化后续连接操作。

Mac终端通过SSH连接远程服务器,是管理员和开发者日常运维的刚需操作,必须确保命令格式正确、认证方式匹配、网络路径通畅。直接敲错一个字符或漏掉@符号,连接就会失败。
确认本地SSH客户端可用
macOS系统自带OpenSSH,但极少数情况下(如重装系统后未安装Xcode命令行工具)可能缺失。这一步跳过会导致后续所有ssh命令报“command not found”。
打开“应用程序” → “实用工具” → “终端”,输入:【ssh -V】并回车。若返回类似“OpenSSH_9.8p1, LibreSSL 3.3.6”的版本信息,说明组件正常;若提示“command not found”,需运行xcode-select --install补全工具链。
用标准命令直连服务器
这是最基础也最常用的连接方式,适用于临时调试、一次性登录场景。
在终端中输入:【ssh username@server_ip_address】,例如ssh ubuntu@192.168.0.110。
首次连接时,终端会显示一段密钥指纹并问“Are you sure you want to continue connecting (yes/no/[fingerprint])?”——必须输入【yes】并回车,否则连接中断;输no或直接回车都无效。
密码输入过程完全无视觉反馈(不显示*也不闪烁),输完直接回车。光标前出现$(普通用户)或#(root)即表示登录成功。
图形化向导快速建连
适合对命令行有顾虑的新手,或需要快速切换多个服务器时避免记忆IP和用户名。
方法一:顶部菜单栏点“Shell” → “新建远程连接” → 在“服务”里选SSH → 在底部地址栏手动输入服务器IP → “用户”栏填用户名 → 点“连接”。
方法二:若服务器启用了Bonjour且与Mac同局域网,向导窗口的“服务器”列表可能自动出现该设备名,直接双击即可省去手动输IP步骤。
注意:图形向导不支持指定非默认端口(如2222),如遇端口变更必须退回命令行方式。
配置SSH密钥实现免密登录
第一步:在Mac终端执行 【ssh-keygen -t ed25519 -C "your_email@example.com"】,连续回车接受默认路径(~/.ssh/id_ed25519)和空密码(设密码会增加每次登录的交互步骤,不推荐)。
第二步:将公钥上传至服务器——优先使用 【ssh-copy-id -i ~/.ssh/id_ed25519.pub username@server_ip_address】,它会自动创建目录、设置权限、追加公钥到authorized_keys。
第三步:若服务器未安装ssh-copy-id(常见于精简版Linux发行版),改用scp手动传公钥:先运行 scp ~/.ssh/id_ed25519.pub username@server_ip_address:/tmp/,再ssh登录一次,执行 mkdir -p ~/.ssh && cat /tmp/id_ed25519.pub >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys。
第四步:退出当前会话,重新执行ssh username@server_ip_address——若不再提示输密码,说明配置成功。
用SSH Config文件简化重复输入
当你频繁连接多台服务器时,每次敲完整IP、用户名、端口非常低效。编辑~/.ssh/config可定义别名,让连接变成一句简单命令。
在终端中运行 nano ~/.ssh/config(若文件不存在会自动创建),按以下格式写入:
Host myserver
HostName 192.168.0.110
User ubuntu
Port 22
保存退出后,在终端输入 ssh myserver 即可直连,无需再写用户名和IP。
如果某台服务器SSH端口不是22(比如2222),务必在Config里显式写上Port 2222,否则仍会尝试22端口并超时。











