linux使用密钥+密码登录ssh

密钥+密码登录ssh(双层保障)

1. 生成密钥

使用需要生成密钥的用户登录后键入。

ssh-keygen -t rsa

直接回车会在~/.ssh目录(用户所在家目录下的.ssh目录,如果没有请自行创建.ssh目录)生成id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是公共密钥。如果输入内容会在当前目录创建你输入内容为名称的私钥公钥。这里直接回车。
然后输入密钥密码,再次输入密码(也可以不要密码直接回车)。生成密钥完成。

linux使用密钥+密码登录ssh_第1张图片

将用户.ssh目录内的两个密钥下载到本地。(我用的是win客户端ftp方式下载)

 

2. 配置ssh使用密钥(一定先下载下来再去修改配置)

将.ssh中的id_rsa.pub复制并改名字为authorized_keys

将生成的私钥文件下载到本地保存id_rsa,可以保存成node1

cd .ssh
cp id_rsa.pub authorized_keys

修改authorized_keys权限为700(必须修改为700,不能为其他)

chmod 700 authorized_keys
vim /usr/share/openssh/sshd_config
修改sshd_config文件
StrictModes no  
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys      #ssh文件位置
PasswordAuthentication yes                        #使用密码  no为不使用密码
AuthenticationMethods publickey,password          #如果密码和密钥都使用在末尾加上此行代码
systemctl restart sshd.service

在XShell中登录

  • 文件-> 新建
    linux使用密钥+密码登录ssh_第2张图片

名称没有太大限制。随意填写,这里填写的是rsa-test。
接着填写主机的IP地址,也就是所要连接的服务器的IP地址。

  • 填写 用户身份验证 信息
    linux使用密钥+密码登录ssh_第3张图片

这里的密码为前面所设置的秘钥的保密码,用户名为服务器的账号用户名。

在多终端的XShell上进行登录

如果在另外一台电脑上连接这个服务器账号,则除了前面一步的配置之外,还需要手动添加私钥。具体方法为:

  • 工具-> 用户秘钥管理者
    linux使用密钥+密码登录ssh_第4张图片

  • 选择 导入,然后选择私钥之后选择打开即可正常连接。

linux使用密钥+密码登录ssh_第5张图片

你可能感兴趣的:(运维)