Kết nối SSH bằng cách sử dụng putty: bằng cách sử dụng bộ ký tự UTF-8 bằng cách sử dụng thay vì


0

Khi tôi kết nối với máy chủ Linux của mình (Ubuntu 14.04) bằng putty, tôi gặp một số vấn đề vì kết nối SSH luôn sử dụng ANSI_X3.4-1968 như bộ ký tự (đầu ra của locale charmap ).

Tuy nhiên, hệ thống của tôi được cấu hình để sử dụng de_DE.UTF-8 có thể được nhìn thấy bởi cat /etc/default/locale:

LANG=de_DE.UTF-8
LC_MESSAGES=POSIX

Hồ sơ kết nối được sử dụng của putty sử dụng UTF-8 như Bộ ký tự từ xa (Cửa sổ - & gt; Dịch). Tôi cũng đã cố gắng sử dụng giá trị de_DE.UTF-8 ở đây, nhưng không có thay đổi.

Điều kỳ lạ là khi tôi đăng nhập vào bảng điều khiển vật lý, thực thi locale charmap ở đó tôi nhận được kết quả chính xác và mong đợi: UTF-8.

Tại sao tôi nhận được các bộ ký tự được cấu hình khác nhau bằng cách sử dụng Putty (v0.67) và bảng điều khiển vật lý? Đây có phải là một vấn đề cấu hình putty, hoặc là vấn đề ở phía máy chủ linux?

Cập nhật 1:

Tôi cũng đã so sánh /etc/pam.d/sshd với một từ một máy chủ tương tự thứ hai không bị ảnh hưởng bởi vấn đề này và cả hai tệp đều giống hệt nhau. Điều này cũng đúng với tập tin /etc/ssh/ssh_config (cả hai tệp đều chứa dòng SendEnv LANG LC_* ).

Tôi cũng đã thực hiện các lệnh sau để đảm bảo các vị trí không bị lỗi:

sudo locale-gen --purge
sudo update-locale LANG=de_DE.UTF-8

Câu trả lời:


2

Điều này không có gì để làm với PuTTY. Những gì bạn đã cấu hình chỉ có thiết bị đầu cuối bộ ký tự, cho PuTTY biết cách giải mã văn bản mà nó nhận được - nhưng không chuyển nó đến máy chủ theo bất kỳ cách nào.

Cài đặt ngôn ngữ ($ LANG & amp; c.) Được tải bởi chính máy chủ - tùy thuộc vào bản phân phối, bởi source -

Cấu hình PAM của bạn trong /etc/pam.d đề cập đến /etc/default/locale.

  • Nếu bạn tìm thấy một dòng pam_env phù hợp trực tiếp trong cấu hình ứng dụng, chẳng hạn như /etc/pam.d/login, sao chép nó vào cùng một nơi trong /etc/pam.d/sshd. (Hãy chú ý đến vị trí của ngăn xếp.)

  • Nếu bạn tìm thấy một dòng phù hợp trong chia sẻ common-session cấu hình, sau đó đảm bảo cấu hình sshd PAM nhập nó (ví dụ: thông qua @include common-session ).

  • Nếu bạn không tìm thấy bất cứ điều gì trong PAM, thay vào đó hãy kiểm tra các tệp khởi động của shell.


Cảm ơn câu trả lời. Tôi đã học được rất nhiều, tiếc là nó không giải quyết được vấn đề của tôi (xem câu hỏi cập nhật).
Robert

Bạn đã so sánh /etc/pam.d/sshd, nhưng bạn đã so sánh các tập tin khác?
grawity

Chỉ cần thực hiện một md5sum của /etc/pam.d/* và chúng giống hệt nhau trên cả hai máy chủ. Nhưng tôi đã tìm thấy sự khác biệt quan trọng. Đó là /etc/ssh/sshd_config. Có vẻ như ai đó đã loại bỏ các dòng quan trọng từ nó.
Robert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.