SSH密钥登录让Linux VPS服务器更安全

SSH密钥登录让Linux VPS服务器更安全,第1张

随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加强,如果你安装过DenyHosts并设置过邮件提醒,你每天可能会受到数封DenyHosts Report将前来破解SSH密码的IP加入/etc/hostsdeny。

Linux SSH登录有两种:

1、使用密码验证登录

通常VPS或服务器开通后都是直接提供IP和root密码,使用这种方式就是通过密码方式登录。如果密码不够强壮,而且没有安装DenyHosts之类的防止SSH密码破解的软件,那么系统安全将存在很大的隐患。

2、使用密钥验证登录

基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。

一、生成密钥

因为puttygen生成的密钥有问题可能会出现:“Server refused our key”,最好使用XShell生成密钥或者在远程Linux VPS/服务器生成密钥。

1、在Linux远程服务器生成密钥:

登录远程Linux VPS/服务器,执行:

root@vpser:~# ssh-keygen -t rsa //先运行这个命令

Generating public/private rsa key pair

Enter file in which to save the key (/root/ssh/id_rsa): //直接回车

Created directory ‘/root/ssh’

Enter passphrase (empty for no passphrase): //输入密钥密码

Enter same passphrase again: //重复密钥密码

Your identification has been saved in /root/ssh/id_rsa //提示公钥和私钥已经存放在/root/ssh/目录下

Your public key has been saved in /root/ssh/id_rsapub

The key fingerprint is:

15:23:a1:41:90:10:05:29:4c:d6:c0:11:61:13:23:dd root@vpsernet

The key’s randomart image is:

+–[ RSA 2048]—-+

|=@Bo+o oo |

|=o=E o o |

| |

| |

| S |

| |

| |

| |

| |

+—————–+

root@vpser:~#

将/root/ssh/下面的id_rsa和id_rsdpub妥善保存。

2、使用XShell生成密钥

Xshell是一款Windows下面功能强大的SSH客户端,能够按分类保存N多会话、支持Tab、支持多密钥管理等等,管理比较多的VPS/服务器使用XShell算是比较方便的,推荐使用。

下载XShell,安装,运行XShell,点击菜单:Tool -User Key Generation Wizard,出现如下提示:

  点击Save as file将密钥保存为id_rsapub。

二、将密钥添加到远程Linux服务器

1、用winscp,将id_rsapub文件上传到/root/ssh/下面(如果没有则创建此目录),并重命名为:authorized_keys(如果是在Linux服务器上生成的密钥直接执行:mv /root/ssh/id_rsapub /root/ssh/authorized_keys),再执行:chmod 600 /root/ssh/authorized_keys 修改权限。

2、修改/etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。

3、重启sshd服务,Debian/Ubuntu执行/etc/initd/ssh restart ;CentOS执行:/etc/initd/sshd restart。

三、客户端测试使用密钥登录

1、使用putty登录

putty使用的私钥文件和Linux服务器或XShell的私钥格式不同,如果使用putty的话,需要将Linux主机上生成的id_rsa文件下载的本地。运行putty压缩包里面的puttygenexe,选择Conversions-Import key选择私钥文件id_rsa,输入密钥文件的密码,会出现如下界面:

  点击“Save Private Key”,将私钥保存为id_rsappk

运行putty,在Host Name填写:root@主机名或ip

  如果设置了密钥密码,出现:Passphrase for key “imported-openssh-key”时输入密钥密码。

如果设置没问题就会登录成功,出现用户提示符。

2、XShell登录

运行XShell,选择菜单File-New,按如下提示填写:

  打开创建好的Session

  如果设置没问题就会登录成功,出现用户提示符。

3、Linux客户端登录测试

在Linux客户端执行:chmod 600 /root/id_rsa 再执行:ssh root@wwwvpsernet -i /root/id_rsa /root/id_rsa为私钥文件,第一次链接可能会提示确认,输入yes即可,再按提示输入密钥密码,没有问题就会出现用户提示符。

四、修改远程Linux服务器sshd服务配置

1、修改/etc/ssh/sshd_config 文件

将PasswordAuthentication yes 修改成 PasswordAuthentication no

2、重启sshd服务

Debian/Ubuntu执行/etc/initd/ssh restart ;CentOS执行:/etc/initd/sshd restart。

ok,设置完成。

再提醒一下一定要保存好Putty私钥文件id_rsappk或Linux服务器下载下来的id_rsa私钥文件

Linux 如何查看root密码?

Linux不能查看root密码,因为root密码都是密文存储的,而密码设计的一个目标就是反推解密出来的可能性尽量小,如果需要修改密码,可以通过进行单用户模式下,将密码进行修改,修改完成后重启即可。

Snipaste_2020-06-15_14-30-20png

Snipaste_2020-06-15_14-30-29png

Linux 介绍

Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。

Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一大亮点。

Linux 具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈 ,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。

一、强化密码强度

只要涉及到登录,就需要用到密码,如果密码设定不恰当,就很容易被黑客破解,如果是超级管理员(root)用户,如果没有设立良好的密码机制,可能给系统造成无法挽回的后果。

很多用户喜欢用自己的生日、姓名、英文名等信息来设定,这些方式可以通过字典或者社会工程的手段去破解,因此建议用户在设定密码时,尽量使用非字典中出现的组合字符,且采用数字与字符、大小写相结合的密码,增加密码被破译的难度。

二、登录用户管理

进入Linux系统前,都是需要登录的,只有通过系统验证后,才能进入Linux操作系统,而Linux一般将密码加密后,存放在/etc/passwd文件中,那么所有用户都可以读取此文件,虽然其中保存的密码已加密,但安全系数仍不高,因此可以设定影子文件/etc/shadow,只允许有特殊权限的用户操作。

三、账户安全等级管理

在Linux操作系统上,每个账户可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应根据需要赋予该账号不同的权限,且归并到不同的用户组中。每个账号ID应有专人负责,在企业中,如果负责某个ID的员工离职,该立即从系统中删除该账号。

四、谨慎使用"r"系列远程程序管理

在Linux操作系统中,有一系列r开头的公用程序,如rlogin、rcp等,非常容易被不法分子用来攻击我们的系统,因此千万不要将root账号开放给这些公用程序,现如今很多安全工具都是针对此漏洞而设计的,比如PAM工具,就可以将其有效地禁止掉。

五、root用户权限管理

root可谓是Linux重点保护对象,因为其权利是最高的,因此千万不要将它授权出去,但有些程序的安装、维护必须要求是超级用户权限,在此情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。

六、综合防御管理

防火墙、IDS等防护技术已成功应用到网络安全的各个领域,且都有非常成熟的产品,需要注意的是:在大多数情况下,需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。

ubuntu怎么启动ssh服务?

1虚拟机方案

如果题主采用的是windows物理机平台上的ubuntu虚拟机的话,保证一下几点即可:

(1)物理机与虚拟机的IP处于同一网段

(2)虚拟机网卡使用桥接方式

(3)ssh22端口开启

2真机方案

如果题主采用的是在物理机上安装Ubuntu系统,只需要把网卡地址设置成和你用ssh链接服务器的那台电脑的ip设置成同一个局域网即可,并且ssh端口正常。更多关于远程管理的话题可以到参与《Linux就该这么学》。里面讲的很细致,不必鸟私差

linux怎么修改ssh密码?

sshd_config修改后需要重启sshservice才能生效(servicesshrestart)。如果还是不行,可以在ssh连接服务器时加上-v参数,看看有没有更进一步的出错消息

Linux服务器之间怎么样SSH不需密码?

ssh-keygen可以用来生成private和public密钥将生成的public密钥拷贝到远程机器后,可以使ssh到另外一台机器的登陆不用密码具体方法如下

1)在本地机器中的~/ssh/目录下执行下命令,ssh-keygen-tdsa将生成两个文件,id_dsa和id_dsapub

2)将id_dsapub拷贝到远程机器,并且将id_dsapub的内容添加到~/ssh/authorized_keys中catid_dsapub>>authorized_keys注意:目录ssh和文件authorized_keys的权限必须是600完成这些工作后,用户从本地机器到远程机器的登录就不用密码了

linuxssh如何允许多人登录?

linux操作系统本身就是一个多任务,多用户操作系统,它是可以同时多个人登录使用的。当你在linux操作系统中启用ssh服务之后其他人只需要在他们的电脑访问服务器的22端口就可以登录了,在默认情况下,就是可以允许多人同时登录的,不需要专门的设置。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » SSH密钥登录让Linux VPS服务器更安全

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情