ssh登陆无法显示中文,而VNC登陆可以

时间:2022-05-12 06:52:23
我的linux是SUSE10,使用SSH登陆时无法显示中文提示,而使用VNC时却正确显示。然后使用SSH登陆时,使用su 命令转换用户时,如果从普通用户转到root用户,需要输入密码,此时由于显示的中文提示是乱码,即使输入密码后还是无法转到root用户下,显示提示为“su: incorrect password”。同一台机器使用VNC登陆时使用su命令却没有问题,请问是什么原因呢?

10 个解决方案

#1


我刚才查看了,VNC登陆时,使用env查看到的环境中,LANG=zh_CN.UTF-8,而SSH登陆时,使用env查看到LANG=POSIX,问题是否在此呢?

#2


这应该与你所用的ssh工具有关,我用putty访问时,就有这个问题,将工具的上的编码方式改为UTF-16后就可以正常显示了,请试试看。

#3


LANG=zh_CN.UTF-8

然后 再看一看

一多半都是 编码问题

如果还是有问题,你看一下你的 putty的编码设置(如果有,我没有用过)

sCRT有

#4


   我不知道你用什么工具登录。如果是用putty登录,十之八九会出现中文乱码问题。

   (1)PuTTY的默认字体和字符集并不适合中文显示, 在PuTTY窗口标题上点击右键,会列表PuTTY的各类设置,可以对每类设置进行定制。选择"Change Settings..."。在打开的配置窗口左边选择"Appearance",在右边点"Font settings"里面的"Change"按钮,选择好中文字体,比如宋体、新宋体之类的。字体选择好了,还要确定字符集。选择配置窗口左边的"Translation",在右边的"Received data assumed to be in which character set"下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。重新执行命令就可以看到正常的中文了。如果还是出现乱码的话,就执行命令echo $LANG ,看看Linux系统的字符集。比如Ubuntu下使用的是UTF-8,这就需要重新返回上面选择字符集的那一步,选择配置窗口左边的"Translation",在右边的"Received data assumed to be in which character set"下拉列表中选择“UTF-8”,这样就没问题了。

   (2)在 PuTTY 的窗口里面复制、粘贴可不能用Windows里的这些 Ctrl+C,Ctrl+V 这些快捷键,Ctrl+C在控制台上可是终止当前的命令执行。PuTTY 的选择、复制、粘贴这些操作都是通过鼠标来完成的。在"Window->Selection"这里可以设置复制和粘贴的方式。 "Action of mouse buttons(鼠标按键的功能)"下的默认选项是第二个选项Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就可以了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到期望选中区域的末尾,再用鼠标中键单击,就可以选中了。选中以后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。第一个选项是"Windows(Windows方式)",鼠标中键的操作跟前面提到的一样。右键不是粘贴了,而是打开了右键菜单。第三个选项是"xterm(xterm 方式)",这个跟默认的Compromise方式正好相反,中键和右键的操作调换了一下。

   (3)注销登录:应该输入命令exit或用Ctrl+d来正常注销,这样就会注销登录并关闭PuTTY窗口。不要直接点击PuTTY窗口上的关闭按钮来注销,这不是正确的注销方式,因为直接关闭窗口后,你的登录其实还在服务器上,如果多次这样强制关闭窗口,用w命令或者who命令查看时,可以看到很多的用户还在系统上登录,占用了系统的资源。最重要的是,你的这次登录可能只是为了启动一下WebLogic或者其他什么应用服务器,直接关闭窗口后,可能会导致你的业务在随后的几分钟内也被终止,这并不是你所希望看到的。

#5


用vnc当然没问题啦。用ssh的话这要看你的客户端了,一般服务器都是像你那样使用utf8的,所以选择ssh客户端连接的时候一般也需要选择使用什么字符集,而putty和securecrt都是可以支持utf8的,但是F-Secure SSH Client就没发做到了。


欢迎访问我的博客: 小毛的胡思乱想

#6


改用Pietty, *人在Putty基础上做的支持中文的, 挺好用的.

#7


在putty里面改变编码模式就行了哦

#8


引用楼主 wuya168 的回复:
我的linux是SUSE10,使用SSH登陆时无法显示中文提示,而使用VNC时却正确显示。然后使用SSH登陆时,使用su 命令转换用户时,如果从普通用户转到root用户,需要输入密码,此时由于显示的中文提示是乱码,即使输入密码后还是无法转到root用户下,显示提示为“su: incorrect password”。同一台机器使用VNC登陆时使用su命令却没有问题,请问是什么原因呢?


建议你对于账号、密码之类的最好用英文。

#9


如果是putty,那只要更改设置就可以了

其他的不清楚了,我一般只用cygwin,linux主机,还有putty,进行ssh连接

#10


我用的是SSH Secure Shell,请问这个软件怎么修改客户端的字符集呢?我查看了Settings-Global Settings-Appearance-Font,里面没有UTF-8

#1


我刚才查看了,VNC登陆时,使用env查看到的环境中,LANG=zh_CN.UTF-8,而SSH登陆时,使用env查看到LANG=POSIX,问题是否在此呢?

#2


这应该与你所用的ssh工具有关,我用putty访问时,就有这个问题,将工具的上的编码方式改为UTF-16后就可以正常显示了,请试试看。

#3


LANG=zh_CN.UTF-8

然后 再看一看

一多半都是 编码问题

如果还是有问题,你看一下你的 putty的编码设置(如果有,我没有用过)

sCRT有

#4


   我不知道你用什么工具登录。如果是用putty登录,十之八九会出现中文乱码问题。

   (1)PuTTY的默认字体和字符集并不适合中文显示, 在PuTTY窗口标题上点击右键,会列表PuTTY的各类设置,可以对每类设置进行定制。选择"Change Settings..."。在打开的配置窗口左边选择"Appearance",在右边点"Font settings"里面的"Change"按钮,选择好中文字体,比如宋体、新宋体之类的。字体选择好了,还要确定字符集。选择配置窗口左边的"Translation",在右边的"Received data assumed to be in which character set"下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。重新执行命令就可以看到正常的中文了。如果还是出现乱码的话,就执行命令echo $LANG ,看看Linux系统的字符集。比如Ubuntu下使用的是UTF-8,这就需要重新返回上面选择字符集的那一步,选择配置窗口左边的"Translation",在右边的"Received data assumed to be in which character set"下拉列表中选择“UTF-8”,这样就没问题了。

   (2)在 PuTTY 的窗口里面复制、粘贴可不能用Windows里的这些 Ctrl+C,Ctrl+V 这些快捷键,Ctrl+C在控制台上可是终止当前的命令执行。PuTTY 的选择、复制、粘贴这些操作都是通过鼠标来完成的。在"Window->Selection"这里可以设置复制和粘贴的方式。 "Action of mouse buttons(鼠标按键的功能)"下的默认选项是第二个选项Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就可以了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到期望选中区域的末尾,再用鼠标中键单击,就可以选中了。选中以后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。第一个选项是"Windows(Windows方式)",鼠标中键的操作跟前面提到的一样。右键不是粘贴了,而是打开了右键菜单。第三个选项是"xterm(xterm 方式)",这个跟默认的Compromise方式正好相反,中键和右键的操作调换了一下。

   (3)注销登录:应该输入命令exit或用Ctrl+d来正常注销,这样就会注销登录并关闭PuTTY窗口。不要直接点击PuTTY窗口上的关闭按钮来注销,这不是正确的注销方式,因为直接关闭窗口后,你的登录其实还在服务器上,如果多次这样强制关闭窗口,用w命令或者who命令查看时,可以看到很多的用户还在系统上登录,占用了系统的资源。最重要的是,你的这次登录可能只是为了启动一下WebLogic或者其他什么应用服务器,直接关闭窗口后,可能会导致你的业务在随后的几分钟内也被终止,这并不是你所希望看到的。

#5


用vnc当然没问题啦。用ssh的话这要看你的客户端了,一般服务器都是像你那样使用utf8的,所以选择ssh客户端连接的时候一般也需要选择使用什么字符集,而putty和securecrt都是可以支持utf8的,但是F-Secure SSH Client就没发做到了。


欢迎访问我的博客: 小毛的胡思乱想

#6


改用Pietty, *人在Putty基础上做的支持中文的, 挺好用的.

#7


在putty里面改变编码模式就行了哦

#8


引用楼主 wuya168 的回复:
我的linux是SUSE10,使用SSH登陆时无法显示中文提示,而使用VNC时却正确显示。然后使用SSH登陆时,使用su 命令转换用户时,如果从普通用户转到root用户,需要输入密码,此时由于显示的中文提示是乱码,即使输入密码后还是无法转到root用户下,显示提示为“su: incorrect password”。同一台机器使用VNC登陆时使用su命令却没有问题,请问是什么原因呢?


建议你对于账号、密码之类的最好用英文。

#9


如果是putty,那只要更改设置就可以了

其他的不清楚了,我一般只用cygwin,linux主机,还有putty,进行ssh连接

#10


我用的是SSH Secure Shell,请问这个软件怎么修改客户端的字符集呢?我查看了Settings-Global Settings-Appearance-Font,里面没有UTF-8