ssh免密登录使用方便,关键没有了口令验证反倒规避了暴力破解或者被探测的风险。配置得当,使用ssh免密登录更加安全。在生产环境中应用和数据库服务器之间互相设置后使用方便,并且在第三方人员配置使用时不用告知对方密码。
第一步、ssh登录发起端我们称为客户机,在客户机上上执行 ssh-keygen
之后系统会提示你生成的key文件位置名称,默认回车就好了,再次过程中要求输入的密码,这个密码是你客户端对证书的保护密码,就是任何使用你的证书的时候需要密码。也可以直接回车,使用空密码。
id_rsa是私钥 id_rsa.pub是公钥
第二步、ssh-copy-id 服务器IP
执行此命令后会要求输入服务器的密码,没有用户名和密码不可能上传文件
第三步、在服务器端修改配置文件/etc/ssh/sshd_config
找到PubkeyAuthentication yes ,确定参数为yes,就可以用免密登录了。
此时用户名、密码可以登录,刚才执行ssh-keygen命令的客户机也可以使用免密登录。
如果只允许密钥验证,拒绝传统的口令验证方式:修改/etc/ssh/sshd_config文件 , 红圈处参数yes改为no 则无法使用账号密码登录了。
systemctl rstart sshd #重启ssh服务
此时再想用xshell通过账号密码就无法登陆了,登录提示password选项将会是灰色不可选项,如下: