每次登陆Linux终端都要输入用户名密码是不是很烦?密码设的简单容易被破解,设的复杂每次输入又费时间,而且容易错。如果你是在用PuTTY来连Linux,那告诉你,有一个自动登录的方法,可以免去你的烦恼。下面就让我们来看下具体步骤。

生成公钥私钥对

  1. 首先到PuTTY的安装目录下,打开”PUTTYGEN.EXE”。首界面上确认默认的加密类型是”SSH-2 RSA”,密钥长度是1024

  2. 点击”Generate”按钮,在”PUTTYGEN”窗口内不断移动鼠标。你会看到进度条随着你的移动往前进(这是根据鼠标移动产生的随机数来进行密钥生成的)。完成时生成一个公钥私钥对 Generate Key

  3. 点击”Save private key”,将私钥文件保存到本地,假设命名为”key.ppk”

  4. 将”Public key for pasting into OpenSSH authorized_keys files:“框里的内容复制下来,这个内容就是公钥。如果你还没复制就关闭了窗口也没问题,以后可以在”PUTTYGEN.EXE”主窗口里点”Load”,然后选之前保存的私钥文件(本例中”key.ppk”),就能重新找回公钥 Save Private Key

主机设置

  1. 打开你要自动登录的主机终端

  2. 打开SSH配置文件

    $ sudo cp /etc/ssh/sshd_config{,_bak}    # 记得先备份
    $ sudo vi /etc/ssh/sshd_config
    
  3. 在配置文件末尾加上公钥文件地址

    AuthorizedKeysFile %h/.ssh/authorized_keys
    
  4. 在用户主目录下,创建公钥文件

    $ cd ~                        # 转到用户主目录
    $ mkdir .ssh                  # 创建.ssh目录
    $ chmod 700 .ssh              # 只允许当前用户访问该目录
    $ cd .ssh                     # 进入.ssh目录
    $ vi authorized_keys          # 创建公钥文件,并将之前在PUTTYGEN里复制下来的内容粘帖上去,然后保存
    $ chmod 600 authorized_keys   # 只允许当前用户读写该文件
    
  5. 重启SSH服务

    $ sudo service ssh restart
    

客户机PuTTY设置

  1. 在客户机上打开PuTTY

  2. 在”Connection->Data”选项中”Auto-login username”一栏里输入你要自动登录的用户名 Input User

  3. 在”Connection->SSH->Auth”选项中”Private key file for authentication:“一栏旁点”Browse…”。然后选择第三步中创建的私钥文件,也就是本例中的”key.ppk” Add Key File

  4. 在”Session”选项中,填上主机地址,选择连接方式是SSH(默认端口22)。在”Saved Sessions”一栏中填上连接名。然后点”Save” Save Session

  5. 双击刚才保存的连接名,你会看到远程主机自动登录了。 Login Successfully