云网牛站
所在位置:首页 > Linux云服务器 > 怎么设置SSH密钥

怎么设置SSH密钥

2017-10-19 22:26:34作者:Linux编辑稿源:topspeedsnail

SSH密钥提供了比使用密码更安全的方式登录服务器。因为密码是可以被暴力破解攻破的,而SSH密钥方式几乎是不可能使用暴力破解方式攻击。生成的密钥对提供了2个长字符串:一个公共和一个私有密钥。你可以把公共密钥放在任何一个服务器上,然后客户端用一个对应的私有密钥连接。只有这两个密钥匹配时,连接建立。你还可以用密码保护私有密钥。

 

创建RSA密钥对

在客户端机器上创建密钥对:

ssh-keygen -t rsa

回答一些问题

Generating public/private rsa key pair.

Enter file in which to save the key (/home/tian/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/tian/.ssh/id_rsa.

Your public key has been saved in /home/tian/.ssh/id_rsa.pub.

The key fingerprint is:

c6:35:b7:fc:f7:4c:67:8c:0a:77:58:52:66:8b:a7:8a tian@tian-Ubuntu

The key's randomart image is:

怎么设置SSH密钥

用不用密码取决于你。用了密码之后更安全,但是每次用密钥对时都需要输入密码。

公共密钥在/home/tian/.ssh/id_rsa.pub,私有密钥在 /home/tian/.ssh/id_rsa。

 

拷贝公共密钥到服务器

当生成密钥之后,我们把它拷贝到要使用密钥登陆的服务器上。

可以使用ssh-copy-id命令把公共密钥拷贝到服务器的authorized_keys文件,替换下面命令的用户名和ip为你的:

ssh-copy-id user@123.45.56.78

或使用如下命令:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

现在你就可以用SSH密钥对验证了,如果你设置了SSH私有密钥密码,需要输入密码。

 

可选:禁止root使用密码登录

限制root用户只能使用SSH密钥,编辑配置文件:

sudo vim /etc/ssh/sshd_config

找到PermitRootLogin一行,改为:

PermitRootLogin without-password

重新加载ssh,使生效:

reload ssh

 

相关主题

启用Ubuntu Server的SSH多重身份验证

精选文章
热门文章