关于linux免密登录的配置及ssh客户端基于私钥文件的登录
操作系统环境: CentOS Linux release 7.7.1908 (Core)
1、首先在linux服务器上,使用ssh-keygen命令生成密钥对文件(一直回车即可,默认使用rsa算法),如下所示
其中还支持的算法有dsa | ecdsa | ed25519 | rsa | rsa1,使用其他算法只需要使用-t选项指定即可
(The possible values are "rsa1" for protocol version 1 and "dsa", "ecdsa", "ed25519", or "rsa" for protocol version 2.)
[ ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:1v4uvRWnv6BSInIaRxctOat2woXxHHFyiY0yN2MKH30 The key‘s randomart image is: +---[RSA 2048]----+ | .oBo. | | . = #+E | | o % X | | = B | | o S . . .| | o X + . + | | B + +. .o | | . ...o... | | .++. .o| +----[SHA256]-----+ [ ~]#
2、如上命令所示,执行完后,会在~/.ssh目录下生成id_rsa(私钥文件)和id_rsa.pub(公钥文件)
3、然后将公钥文件内容,追加到sshd配置文件中AuthorizedKeysFile指令定义的文件,其默认值为.ssh/authorized_keys文件
[ ~]# cd [ ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
4、当然至此,服务器公钥文件即使删除了也是可以的,而私钥则是给客户端使用的,交给客户端后,对服务器本身来说也是非必须的
关于ssh客户端使用密钥访问的方式,客户端取得私钥文件,可以对其重命名,以达到见名知义的效果,如 webserver_id_rsa.pem
对于linux系统的ssh客户端
只需要使用ssh -i 私钥文件 即可以访问,如下,其中192.168.100.128为上面的webserver:
需要特别注意,私钥文件的权限必须要求为0400才能正常使用,即只允许文件拥有者有读的权限!
[ ~]# ssh -i webserver_id_rsa.pem Last login: Thu Jun 4 22:16:57 2020 from 192.168.100.89 [ ~]#
另外有时,也会看到有人不用-i指定密钥也是可以免密登录,这是由于ssh客户端配置文件/etc/ssh/ssh_config,
默认有IdentityFile指令,指定了私钥文件,虽然是注释状态的,却默认包含了这些文件
如# IdentityFile ~/.ssh/identity(还有~/.ssh/id_rsa、~/.ssh/id_dsa、~/.ssh/id_ecdsa、~/.ssh/id_ed25519)
大部分情况是自己生成密钥对,通过ssh-copy-id -i 公钥文件 传递到远端服务器的~/.ssh/authorized_keys
而此时ssh去连接远程主机时,刚好私钥文件,就是刚生成的~/.ssh/id_rsa,所以就不用特意指定,当然也可能客户端配置明确指定了私钥文件
对于windows系统下的xshell客户端
只需要在登录弹窗的Public Key(U) 处通过浏览选择私钥文件,或者直接导入私钥,以后就可以直接在下拉中可以看到!
特别注意,这里的Public Key(U) 不要根据这个名称,误以为公钥文件,始终记住,客户端登录服务器,是使用私钥即可!
putty客户端
对于putty客户端来讲,不能直接使用pem格式的私钥文件
需要先使用puttygen.exe小程序将pem格式的私钥文件,转换成putty所能识别的.ppk格式
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13047171.html