1、打开puttygen.exe,点击Generate,然后按照说明用鼠标在空白处移动,生成密钥对。
2、保存私钥,不填passphrase。同时保存公钥,并打开公钥文件,将回车符去掉。
3、将公钥上传到要登录的服务器的相关用户的home目录下的.ssh文件夹下,并重命名为authorized_keys文件。在用户的家目录下执行chmod 700 .ssh; chmod 600 .ssh/*,(否则会提示Authentication refused: bad ownership or modes,在linux下对于一些错误,可以到日志目录下搜索错误的详细信息)。
4、在session页面中load刚才设置的服务器信息,然后在ssh->auth页面中选择刚才生成的私钥文件。然后打开即可。
注:如果上述生成的公钥或者私钥有问题(从linux下日志可以看出),就在linux下执行ssh-keygen -t rsa,生成相应的密钥对。利用cat命令将后缀为pub的公钥导入到.ssh/authorized_keys文件中,并调整相关的文件权限。将生成的私钥下载到putty所在的系统上,打开puttygen.exe,选择load刚才下载的私钥,并保存转换后的私钥。最后利用转换后的私钥登录服务器。
注:如果启动连接时,出现以下提示,
如果通过用户名、密码还能访问主机,则说明是遭遇中间人攻击。如果无法访问,则说明ip被他人占用。
用putty登陆结果输入用户名时很长时间才出现输入密码提示
那么有什么办法能让它变快呢?
- 首先是配置DNS
进入/etc/resolv.conf
先用nslookup命令测试里面的DNS是否可以使用,如果不行就把它换成可以使用的。
- 修改ssh配置文件/etc/ssh/sshd_config
修改UseDNS no
当然如果没有就增加进去
然后打入命令systemctl restart sshd
其实出现这样的原因呢是因为服务端/etc/hosts文件里如果之前设置了客户端的ip和主机名对应关系,你改名了现在找不到了,所以主机浪费时间去查找
在文件resolv.conf里定义了DNS服务器的IP地址但是这里如果是ping不通的地址,那么是不是要花费时间在这里呢,所以把ping不通的去掉了
putty命令行登录
putty -load [SESSION_NAME] 即可快速打开
ctrl s 锁定putty
ctrl z 解锁putty