
有时,使用密码作为身份验证方法登录服务器并不安全. 为了避免强行使用密码,您可以多次使用ssh键登录服务器. 这里以CentOS为例.
生成密钥对:
使用ssh-keygen在服务器上生成:
输入:
1
ssh-keygen -t rsa
一路输入“跳过”(当然也可以自己定义,但这不是必须的),公共密钥(id_rsa.pub)和私有密钥(id_rsa)将在/root/.ssh下生成(在服务器端使用公钥,在客户端使用私钥),然后将私钥下载到计算机(登录时将使用).

使用远程工具(例如Xshell)生成
这里以Xshell为例,全部默认单击“工具-新用户密钥生成向导”,下一步,提示输入密钥加密密码,此处可以为空,下一步,将公钥另存为名为id_rsa.pub的文件上传到服务器/root/.ssh.
修改/ etc / ssh / sshd_config的以下部分:
1234
RSAAuthentication yes 开启RSA验证PubkeyAuthentication yes 是否使用公钥验证AuthorizedKeysFile .ssh/authorized_keys 公钥的保存位置PasswordAuthentication no 禁止使用密码验证登录
最好禁止使用密码验证进行登录,否则密钥就没有多大意义.
更改后保存.

输入保存密钥的目录:
1
cd /root/.ssh
创建一个新的密钥验证文件“ authorized_keys”,并重定向公共密钥输出以覆盖密钥验证文件:
12
touch authorized_keyscat id_rsa.pub >> authorized_keys 这里建议使用追加而不是覆盖
将authorized_keys文件权限修改为600

1
chmod 600 /root/.ssh/authorized_keys
补充:
ssh密钥登录具有以下文件的权限要求:
123
~ # 即家目录 权限为 700~/.ssh # 权限为 700~/.ssh/authorized_keys # 权限为 600
重新启动ssh服务

1234
#CentOS 7之前的版本请执行:service sshd restart#CentOS 7请执行:systemctl restart sshd.service
接下来ssh协议密钥认证登录ssh协议密钥认证登录,您可以使用以下密钥登录服务器:
打开连接时,系统将提示您导入用户密钥,选择先前保存的私钥文件“ id_rsa”.
2017-12-2: 如何用Linux系统中的密钥连接其他远程Linux主机?
1
ssh -i ~/.ssh/id_rsa alliot@192.168.1.1 -p 22
〜/ .ssh / id_rsa: 您的私钥路径
alliot: 用户名
192.168.1.1: 远程IP
22: 远程ssh端口
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-267180-1.html
看了南方不在质量上下功夫
勾兑出来东西有什么好喝的