rsa证书ssh登陆服务器

好久不用,又生疏了。

今晚实操了一下,作一个记录。

使用rsa的密钥对登陆linux服务器,主要是为了安全。

这种证书级别的登陆,比最复杂的root用户名和帐号的安全性都要高一个等级。

至少服务器不会被暴破(暴力破解)。

~~~~~~~~~~~~~~~

参考URL:

https://www.cnblogs.com/JohnABC/p/4001383.html

~~~~~~~~~~~~~~~~

大步骤如下:

一,在一个服务器上,使用ssh-keygen -t rsa命令,产生一对密钥(默认目录为当前用户主目录的.ssh目录下,公钥名为id_rsa.pub,私钥名为id_rsa)。

二,将私钥和公钥都下载下来,保存在自己电脑安全的地方(如果手里有一批同一个项目的机器,不用为每个机器都产生一对密钥,而是直接使用同一对密钥即可,方便管理)。

三,登陆到要设置证书的linux服务器,将公钥传到LINUX服务器,指定用户的~/.ssh/目录下,运行cat id_rsa.pub >> ~/.ssh/authorized_keys,将公钥导入authorized_keys文件中(这个文件才是ssh登陆存放公钥的地方,使用追加的方式,是因为这个文件支持存放多个公钥)。

四,将相应的目录和文件使用chmod命令,赋予正确的权限。(.ssh目录的权限为700,authorized_keys的权限为600)

五,更改/etc/ssh/sshd_config文件,默认的不管,主要注意以下的设置。

#root可账户登录
PermitRootLogin yes

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

六,更新的sshd的配置文件之后,使用service sshd restart重启sshd服务。

(第三步里,我们已登陆LINUX服务器,给新手的建议是,不要太自信sshd的设置完全正确。在重新sshd服务前,多开两个xshell窗口,万一证书配置不正确,让新连接无法进入,至少,我们还有老的xshell窗口登陆调整设置。)

七,使用xshell等工具,导入私钥证书,用于服务器登陆。

猜你喜欢

转载自www.cnblogs.com/aguncn/p/10440665.html