Linux VPS及服务器更加安全之设置Putty SSH使用密钥登录

在上一篇的确保Linux VPS及服务器更加安全之Xshell设置密钥登录文章中已经分享到XSHELL使用密钥登陆我们的VPS服务器确保机器的安全,但是很多同学们并不是都像老左一样用XSHELL,而还是有很多使用PUTTY登陆SSH,所以重新起一篇文章单独再分享用PUTTY设置密钥登陆Linux VPS主机的方法。

PS:我们如果需要使用PUTTY一定要到正规的下载站最好是官方网站下载,所谓的破解版、绿色版、中文精简版等等可能有被人植入木马,这样会影响我们的账户安全。

第一步、生成密钥

看到很多教程有提到用puttygen.exe文件可以生成密钥的,但是可能会出现Server refused our key这样的登陆错误,所以我们这里直接使用VPS远程设置密钥,然后下载到本地。

根据上图的演示,登陆到SSH之后,我们先输入ssh-keygen -t rsa 然后会要求我们确定 路径我们直接回车会自动创建/root/.ssh文件夹目录,然后回车后出入密钥密码,输入两次继续回车密钥就可以在目录中看到。

我们把root/.ssh目录中的id_rsa和id_rsa.pub下载到本地备份等会需要使用。

第二步、修改sshd配置文件

A - 将root/.ssh中的id_rsa.pub修改名字为authorized_keys 并且用chmod 600 authorized_keys设置权限。

B - 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。

C - 重启SSHD服务。

Debian/Ubuntu执行:/etc/init.d/ssh restart
CentOS执行:/etc/init.d/sshd restart

第三步、客户端配置密钥

我们打开puttygen.exe文件,载入密钥。

输入在SSH中设置的密钥密码。

保存私钥。

保存的文件名可以设置为id_rsa.ppk,也可以自定义名字但后缀必须是PPK,后面我们有需要用到。

第四步、设置PUTTY认证链接

正常的登陆,开始可能需要我们输入密钥密码。

第五步、再次修改SSHD配置文件

修改/etc/ssh/sshd_config 文件中找到PasswordAuthentication后面的yes改成no

然后重启sshd

Debian/Ubuntu执行:/etc/init.d/ssh restart
CentOS执行:/etc/init.d/sshd restart

这样我们的putty登陆使用密钥也配置完成,即便他们知道我们的ROOT密码也不好登陆,所以到本地的几个文件需要确保安全,只要你本机电脑安全,你的VPS就相对足够的安全。

(0)

相关推荐

  • Linux SSH 安全策略 更改 SSH 端口

    默认的 SSH 端口是 22.强烈建议改成 10000 以上.这样别人扫描到端口的机率也大大下降.修改方法:# 编辑 /etc/ssh/ssh_config vim /etc/ssh/ssh_config # 在 Host * 下 ,加入新的 Port 值.以 18439 为例: Port 22 Port 18439 # 编辑 /etc/ssh/sshd_config (同上2图) vim /etc/ssh/sshd_config #加入新的 Port 值 Port 22 Port 18439

  • Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)

    老左在之前的不少文章中已经分享过在centos或者在debian环境下安装lnmp和llsmp的教程,老左用人格担保肯定是可行的,因为我都是在实战操作后截图及写下来的文章.可以让VPS初学者手把手的学习如何在Linux VPS上安装系统及建立网站.老左第一次使用VPS不会安装环境,准备请一个网友安装,还准备收费50元,鉴于此我就自学. 我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置.因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担.但是,如果现在

  • Linux配置远程SSH无密码登录

    本文实例为大家分享了jaLinux配置远程SSH无密码登录的方法,供大家参考,具体内容如下 系统:CentOS 6.8 主机1:192.168.0.177 主机2:192.168.0.178 工具介绍: ssh-keygen:创建公钥和密钥 ssh-copy-id:把生成的公钥复制到192.168.0.178主机上的authorized_keys文件上, ssh-copy-id也会给远程主机的用户主目录(/home)和/root/.ssh和/root/.ssh/authorized_key设置合

  • python下paramiko模块实现ssh连接登录Linux服务器

    本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法.分享给大家供大家参考.具体分析如下: python下有个paramiko模块,这个模块可以实现ssh登录linux服务器,下面贴出代码,注意,我在centos5.6下,python2.6.5,paramiko-1.7的版本下测试成功. #!/usr/bin/env python import paramiko hostname='172.28.102.249' username='root' passwor

  • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享

    环境: ssh server: 192.168.100.29  server.example.com ssh client: 192.168.100.30  client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.

  • Linux sshd_config配置手册中文版

    [注意]值是大小写敏感的,但指令是大小写无关的. 复制代码 代码如下: # 1. 关于 SSH Server 的整体设定,包含使用的 port 啦,以及使用的密码演算方式Port 22 # SSH 预设使用 22 这个 port,您也可以使用多的 port ! # 亦即重复使用 port 这个设定项目即可!Protocol 2,1 # 选择的 SSH 协议版本,可以是 1 也可以是 2 , # 如果要同时支持两者,就必须要使用 2,1 这个分隔了!#ListenAddress 0.0.0.0 #

  • linux远程登录ssh免密码配置方法

    一.情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆. 二.原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上. 三.步骤 主机A: 1. 生成公钥和私钥文件id_rsa和id_rsa.pub (敲3下回车即可) [root@bogon ~]# ssh-keygen -t rsa Generating public/private r

  • Linux SSH 安全策略 限制 IP 登录方法

    方法一: 首先需要限制登录的ip(或者如果需要自己本地登录,查看最后登录ip即可) Vim /etc/hosts.allow 输入 sshd:114.80.100.159:allow vim /etc/hosts.deny 输入(表示除了上面允许的,其他的ip   都拒绝登陆ssh)    sshd:ALL 最后sshd重启 service sshd restart 方法二: 比如说你只允许114.80.100.159这个IP进入,其它都禁止: vim   /etc/ssh/sshd_confi

  • linux ssh 别名登录小技巧

    为了方便登录服务器,我们一般使用putty.SecureCRT等等工具.在终端如何通过服务器别名来进行登录呢? 可以创建~/.ssh/config 文件并为每台服务器指定登录信息和验证方法,如下所示: $ vim ~/.ssh/config Host www HostName www.ttlsa.com Port 22 User root IdentityFile ~/.ssh/id_rsa.pub IdentitiesOnly yes Host bbs HostName 115.28.45.1

  • linux ssh 使用深度解析(key登录详解)

    SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议.SSH的主要目的是用来取代传统的telnet和R系列命令(rlogin,rsh,rexec等)远程登陆和远程执行命令的工具,实现对远程登陆和远程执行命令加密.防止由于网络监听而出现的密码泄漏,对系统构成威胁. ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1.目前

随机推荐