一、使用如下命令生成密钥对
[root@xuegod130 ~]# 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): #输入密钥的密码 (如果用于gitlab CI 最好不填 直接回车)
Enter same passphrase again: #再次输入密钥密码 (如果用于gitlab CI 最好不填 直接回车)
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:Y8K3Am4qdviR5IJC0xrVVNPQWHB9eR4fYgXBFh/qd0M root@xuegod130.localdomain
The key’s randomart image is:
±–[RSA 2048]----+
| …=Bo. .+*o |
| o .oo . Bo+.|
| . . +.+E+|
| o . . …|
| + o. o S . o.|
|o *… + o . o|
|oo.+o . . |
|oo.+. . |
|…+. |
±—[SHA256]-----+
二、id_rsa.pub和id_rsa 两个文件内容导入到 authorized_keys文件
进入.ssh目录 cd ~/.ssh
cat id_rsa >> authorized_keys
cat id_rsa.pub >> authorized_keys
注:authorized_keys文件只留下id_rsa.pub和id_rsa 两个文件内容 仔细检查
三、修改ssh配置文件 [root@xuegod130 ~]# vim /etc/ssh/sshd_config
RSAAuthentication yes 开启RSA验证 (自己新增)
PubkeyAuthentication yes 是否使用公钥验证
AuthorizedKeysFile .ssh/authorized_keys 公钥的保存位置
HostKey /etc/ssh/ssh_host_rsa_key
PasswordAuthentication no 禁止使用密码验证登录(可选,自己添加)
修改完 键盘输入 :wq 退出
Xshell测试,连接那里先输入服务器 ssh端口,再到用户身份验证选择Public Key
进入设置,对应上面自己输入的Enter passphrase (empty for no passphrase): 密码,没有可以为空。
浏览
导入id_rsa文件 需要从服务器拷贝 -----BEGIN RSA PRIVATE KEY----- … -----END RSA PRIVATE KEY----- 这个!!
点连接,输入root就行
祝各位成功!!
四、文件权限问题
chmod 700 ~/.ssh
修改.ssh的文件权限为700 不行的话将里面的文件都改成700
五、重启ssh服务
service sshd restart