putty中使用ssh不用输入密码

  1. 使用PuTTY Key Generator生成**

    点击Generate按键之后,还需要在界面不断移动并点击鼠标以生成**对。


    通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

  生成的公钥如下图所示:


  通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

保存之后的public key如下所示:

  通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

2. 将公钥添加到Ubuntu Server中

  将公钥添加至 .ssh/authorized_keys 文件中,并且需要从Putty Key Generator中复制生成的公钥(此种格式符合Linux中的使用规范,而文件中保存的不符合Ubuntu的使用格式)

  或者根据公钥字符串内容,按照公钥使用格式添加至.ssh/authorized_keys文件。

示例公钥:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAokYGwkxuxo+LfacfXMZxn278hrOg90ek3qLfI/NuYqZxVC/Nyy3/UWNMm2U1LYiWlbA4Z3XOBG5ArmQ9Na4Fgb3Cc6DS1k3s3nJOqANO3stuMbGF+TObcl+fKmz1VyTxWT7rlHfFZznjfBraiP+qTdkJYs1Sruj+EhrUzJ9PLtZIGsZM4Biy+NbKY0wstBwcrKU1hgDiq67gi6dBTujAwQkrctyd30/DMfJzeJ8+USzzGvyR3HQiPG4ukVK00bI7xu+S6UbrfPL34F0rqWy/M3GOkpjJisL0itbr+Y4CRfDj4m9s3bxgsc/86akgmGjAM1d8MhfQonPHCdNM1D4Z3w== rsa-key-20150704

公钥书写格式:

ssh-rsa PublicKeyContent== Description

ssh-rsa 
PublicKeyContent== Description

  以"ssh-rsa"作为起始标识,空格或者换行符作为起始分界符;以"=="作为结尾标识,并以空格作为结束分界符,后面可以附以任意说明性文字。

 如果公钥未按照标准格式添加,则无法进行正确认证,出现如下错误提示,并以密码进行身份认证以登录系统:

  "Server refused our key"

附:保存私钥的文件内容   通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器 

3. 在Putty中配置私钥文件

 PuTTY -> Connection -> SSH -> Auth,选择并添加ppk文件

  通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

  最后,在PuTTY -> Session 中选择SSH连接类型,并填写正确的远程服务器的 Host Name 或者 IP Address,采用正确的端口号(默认22),可以开始登录:

  通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

相关资料:putty的复制和粘贴


Linux服务器限制ssh登录,查看登录日志

1.查看端口占用情况

$sudo su
#lsof -i:<NUM>
netstat -apn | grep <NUM>

2.修改默认端口号 22 /etc/ssh/sshd_config

Port 22

最好先添加一个端口号,然后启用成功之后再关闭端口22。

然后重启sshd:

sudo /etc/init.d/ssh restart

没有反应,使用

# service sshd restart

提示 sshd:unrecognized service

解决方案:Ubuntu 12.04 - I can ssh into the server but sshd is an unrecognized service

$sudo service ssh restart

3.查看ssh登录日志

/var/log/auth.log

其中出现大量的CRON信息,用grep过滤查看:

$grep -v 'CRON' /var/log/auth.log.1 | more

发现很多来自IP为58.83.146.252的连接请求

通过PuTTY使用SSH免密码登录Ubuntu Server14.04远程服务器

总之,要注意网络安全问题!