You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS用iTerm2/ZSH SSH连接AWS EC2报LC_CTYPE错误求客户端解决方案

问题原因

你遇到的报错是因为SSH默认会将本地的locale变量传递到远端EC2实例,你本地设置的LC_CTYPE=UTF-8并不是Linux系统标准的locale命名格式,Amazon Linux等镜像中不存在对应命名的locale,因此触发报错。你之前修改iTerm2设置未生效,是因为ZSH配置中手动设置的locale变量优先级更高。

客户端侧修复方案

方案1(推荐):禁止SSH传递本地locale变量到远端

该方案无需修改远端配置,也不会影响本地终端的locale设置,适配所有EC2镜像。

  1. 编辑本地SSH用户配置文件,若文件不存在直接新建即可:
    nano ~/.ssh/config
  2. 添加如下配置(*代表对所有主机生效,你也可以修改为EC2的域名匹配规则,比如*.compute.amazonaws.com缩小生效范围):
Host *
    SendEnv !LC_* !LANG
  1. 保存退出文件后,重新启动终端连接EC2即可。

方案2:修正本地locale变量的命名格式

MacOS下合法的UTF-8 locale需要附带区域前缀,不能直接设置为UTF-8。

  1. 执行locale -a查看本地支持的UTF-8格式locale,选择其中一个即可(通常选en_US.UTF-8或者zh_CN.UTF-8)。
  2. 编辑ZSH配置文件:
    nano ~/.zshrc
  3. 删除你之前添加的export LC_CTYPE=UTF-8,替换为如下内容:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
  1. 执行source ~/.zshrc生效配置,重新连接EC2测试即可。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:27:01