OpenSSH 是利用 SSH 协议进行远程登录的紧张连接工具。它加密所有流量以肃清窃听、连接挟制和其他攻击。此外,OpenSSH 供应了大量的安全隧道功能、多种身份验证方法和繁芜的配置选项。(来自:https://www.openssh.com/官网)
为达到无需密码远程自动登录做事器的目的,紧张须要以下两个步骤进行:
先容ssh-keygen干系内容及天生、创建密钥对的操作;在Linux做事器上增加系统用户,及用户干系的配置;配置ssh做事。ssh-keygen官方网址:https://man.openbsd.org/ssh-keygen.1
ssh-keygen 是一个认证密钥的天生、管理和转换的工具。采取密钥对的形式,天生一个私钥和一个公钥,可以用来做用于远程做事器的连接。
1.找个Linux天生密钥
[test@localhost ~]$ ssh-keygen -t rsa -f test -b 2048 #输入密钥加密密码,其他都点击回车即可 Generating public/private rsa key pair.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in test.Your public key has been saved in test.pub.The key fingerprint is:SHA256:lvq828n6pLceKxztuJecfG5IEe04uo8V3E4VFHSw47Q test@testThe key's randomart image is:
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa 我们这边选择rsa加密
-f output_keyfile #填写密钥输出文件名称
-b bits #指定要创建的密钥中的位数。对付 RSA 密钥,最小大小为 1024 位,默认为 3072 位。
运行上述命令后会得到两个文件:test(私钥,把稳保密保管)、test.pub(公钥)
增加系统用户及用户ssh干系配置1.新增一个用户:test
[root@localhost ~]$useradd test
2.进入test用户目录,并创建目录.ssh
[root@localhost ~]$ cd /home/test[root@localhost test]$ mkdir .ssh
3.将test.pub文件拷贝到.ssh目录,并创建authorized_keys文件
[root@localhost test]$ cd .ssh[root@localhost .ssh]$ cp /home/test/test.pub .[root@localhost .ssh]$ cat test.pub >> authorized_keys
4.修正.ssh、authorized_keys目录、文件的权限:要担保.ssh和authorized_keys都只有自己账号的读写权限,否则会很随意马虎涌现无法通过ssh key登入
[root@localhost test]$ chmod 700 -R .ssh[root@localhost test]$ chown -R test.test .ssh[root@localhost test]$ cd .ssh[root@localhost .ssh]$ chmod 600 authorized_keys
配置ssh做事
须要修正ssh的配置,设置为通过key登入
[root@localhost ~]$ vi /etc/ssh/sshd_config #找到下列配置选项,把前面的#去掉, AuthorizedKeysFile .ssh/authorized_keys #找到密码验证设置,改为no PasswordAuthentication no #改完后,保存配置文件,并进行sshd做事重启 [root@localhost ~]$ systemctl restart sshd
利用ssh远程工具进行登入测试
新建ssh连接,这边有两个地方须要把稳:
1.认证方法:公钥
2.私钥:导入刚做事器上天生的私钥文件
3.点击确定即可,实现免密码登录。
测试免密码登入:
Last failed login: Fri Apr 22 17:29:44 CST 2022 on pts/0
There was 1 failed login attempt since the last successful login.
Last login: Fri Apr 22 10:46:34 2022
[test@test ~]#