Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

2011/08/16

“Server Refused Our Key” 解决办法

PuTTY,这个Windows下非常流行的SSH客户端,真称得上小巧玲珑,用起来非常便手,而且还有许多秘藏的功能,比如密钥登录的ssh-keygen和绕过防火墙的Tunnels,这些超强功能都是最近通过一个PuTTY高级应用的视频才了解到的。

这个帖子单讲ssh-keygen的学习过程和遇到的“Server Refused Our Key” 问题及解决办法。其实,通过密钥登录Linux没什么复杂的,基本设置和操作步骤如下。
  1. 通过Puttygen.exe生成并在本机保存公钥(test.pub)与私钥(test.ppk),密钥文件名随便设,在此过程中还可以根据个人需要为私钥再设一个密码(Key Passphrase)。
  2. 将公钥加入到要登录用户的家目录的相应文件中。通过Puttygen加载并复制先前生成的公钥文件(test.pub),在服务器端用vi修改 .ssh/authorized_keys这个文件,粘贴公钥,并修改文件夹及文件权属(mkdir .ssh-> vi. .ssh/authorized_keys->chmod 755 .ssh->cd .ssh->chmod 644 authorized_keys)。
  3. 运行Pageant.exe,添加私钥文件(test.ppk),如果私钥设置了密码,此时需要输入。事实上,也可以不用这个Pageant,而是通过配置PuTTY,直接添加私钥(Connection->SSH->Auth->Private key file for authentication)。

按照以上步骤走下来,重新运行PuTTY、输入用户名之后,我却得到这么一个提示“Server Refused Our Key”。为此,首先查了sshd_config这个文件(vi /etc/ssh/sshd_config),默认设置没错,允许RSA,允许公钥,公钥存放默认位置也没错。

Google搜了一圈,发现遇到这个问题的还不少,各路高手对问题的分析和解决方案也是林林种种,尝试了几个都没有成功,后来用了这篇文章中提供的方法SSH成功登录之后,我知道他们考虑复杂了。原来症结就在PuTTY生成的Key的格式OpenSSH不接受,换句话说,只要把公钥的格式做2处小修改即可:
  1. 去掉头尾没用的三行(如果你是从Puttygen中复制过来的话,这三行已经被截掉了);
  2. 把断行统统去掉保存为一行。



再试,成功!

---

备注:

回过头来写这篇帖子的时候,才发现遥远的文章中早有提醒,只是没有明说这个OpenSSH密钥格式问题,如下:
要注意的是,一个public key只占一行,如果贴入后出现多行应该想办法修正到一行,ssh-rsa后面有一个空格,key最后的=和注释之间也有一个空格。

2011/07/23

Install VMware Tools | 通过命令行安装VMware Tools

Linux图形界面下安装VMware Tools自不待言,自己根据VMware的用户手册,尝试着通过几行简单的Linux命令,成功安装了VMware Tools。所有命令和步骤如下,安装和配置过程中的客户化定制已略。

login as: root
root@192.168.0.99's password:

[root@macroinfo ~]# mkdir /mnt/cdrom (# If necessary, create the /mnt/cdrom directory)
[root@macroinfo ~]# mount /dev/cdrom /mnt/cdrom (# mount the CD-ROM drive)
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@macroinfo ~]# cd /tmp (# change to a working directory)
[root@macroinfo tmp]# tar zxpf /mnt/cdrom/VMwareTools-8.4.4-301548.tar.gz (# uncompress the installer)
[root@macroinfo tmp]# umount /dev/cdrom (# unmount the CD-ROM image)
[root@macroinfo tmp]# cd vmware-tools-distrib
[root@macroinfo vmware-tools-distrib]# ./vmware-install.pl (# run the VMware Tools installer)
Creating a new VMware Tools installer database using the tar4 format.

Installing VMware Tools.