在mac系统上远程连接和管理Linux服务器是许多开发者和系统管理员的日常工作需求,macOS基于Unixlike系统,与Linux有天然的兼容性,通过内置工具或第三方软件可以高效实现远程操作,以下将详细介绍常用方法、配置步骤及注意事项。

使用SSH进行远程连接
SSH(Secure Shell)是最常用的加密协议,用于安全地远程登录和管理Linux服务器,macOS系统默认已安装SSH客户端,无需额外安装。
基本连接命令
打开mac的“终端”(Terminal)应用,输入以下命令:
ssh username@server_ip
username:服务器上的用户名(如root、ubuntu等)server_ip:服务器的公网IP地址或域名
首次连接时,系统会提示服务器的密钥指纹,输入yes确认即可,之后需输入用户密码完成登录。
优化SSH配置
为提升效率,可修改~/.ssh/config文件(若无则创建),添加以下配置:
Host myserver
HostName 192.168.1.100
User ubuntu
Port 22
IdentityFile ~/.ssh/id_rsa
配置后,只需输入ssh myserver即可快速连接,无需重复输入IP和用户名。
免密登录配置
通过SSH密钥对实现免密登录:

- 在mac上生成密钥对(若已有则跳过):
sshkeygen t rsa b 4096
- 将公钥复制到服务器:
sshcopyid username@server_ip
或手动将
~/.ssh/id_rsa.pub内容追加到服务器的~/.ssh/authorized_keys文件中。
使用图形化工具
若需图形界面操作,可通过VNC(Virtual Network Computing)或X11转发实现。
VNC连接
- 服务器端配置:Linux需安装VNC服务器(如TigerVNC、RealVNC),并设置密码。
- mac客户端:使用“屏幕共享”(Screen Sharing,mac自带)或第三方工具如VNC Viewer。
- 在“屏幕共享”中输入
vnc://server_ip,或通过菜单栏选择“连接服务器”输入IP和VNC端口(默认5901)。
- 在“屏幕共享”中输入
X11转发
通过SSH转发X11应用,在mac上显示Linux的图形界面:
ssh X username@server_ip
登录后,直接在终端输入图形应用命令(如gedit、firefox),界面将显示在mac上。
文件传输方法
SCP/SFTP命令
- SCP(复制文件):
scp local_file.txt username@server_ip:/remote/path/ scp r local_folder/ username@server_ip:/remote/path/ # 递归复制目录
- SFTP(交互式文件传输):
sftp username@server_ip
登录后可使用
put(上传)、get(下载)、ls(列表)等命令。
图形化工具
- Cyberduck:支持SFTP、FTP等协议的免费工具,通过拖拽操作文件。
- FileZilla:跨平台FTP客户端,界面友好,支持断点续传。
高级工具与技巧
使用tmux/screen实现持久化会话
通过SSH连接后,若网络中断,会话可能丢失,可使用tmux或screen保持会话:

tmux new s session_name # 创建新会话 tmux attach t session_name # 重新连接会话
端口转发
将本地端口映射到服务器端口,
ssh L 8080:localhost:80 username@server_ip
访问本地http://localhost:8080即可访问服务器的80端口服务。
常见问题解决
- 连接超时:检查服务器防火墙是否开放SSH端口(默认22),可通过
sudo ufw status查看。 - 权限问题:确保服务器上
~/.ssh目录权限为700,authorized_keys权限为600。 - 字符编码乱码:在SSH命令中添加
o "Charset=UTF8"参数。
性能优化建议
- 压缩传输:在SSH命令中添加
C参数启用压缩,适合低带宽网络:ssh C username@server_ip
- 调整缓冲区:在
~/.ssh/config中添加:Host * ServerAliveInterval 60 ServerAliveCountMax 3防止长时间无操作时连接断开。
相关问答FAQs
Q1: 如何在mac上通过SSH连接Linux服务器时保持会话不中断?
A1: 可使用tmux或screen工具,首先在服务器上安装(如sudo apt install tmux),连接后运行tmux new s mysession,退出SSH时可通过tmux detach分离,重新连接时用tmux attach t mysession恢复会话,也可在SSH命令中添加o ServerAliveInterval=60参数,每60秒发送一次心跳包。
Q2: SSH连接Linux服务器时出现“Permission denied (publickey,password)”错误如何解决?
A2: 此错误通常与认证相关,可按以下步骤排查:
- 确认公钥是否已添加到服务器的
~/.ssh/authorized_keys文件中; - 检查文件权限:
~/.ssh目录权限应为700,authorized_keys文件权限应为600; - 尝试使用密码登录验证账户是否正常;
- 检查服务器SSH配置文件
/etc/ssh/sshd_config中是否禁用了密码认证(PasswordAuthentication yes需开启); - 重启SSH服务:
sudo systemctl restart sshd。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/288883.html