1. 生成 SSH 密钥对
如果您还没有生成密钥对,可以使用以下命令生成:
ssh-keygen
在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件:id_rsa 为私钥,id_rsa.pub 为公钥。
在提示时,您可以选择默认文件名(通常是 ~/.ssh/id_rsa
)或输入自定义文件名。您还可以选择是否设置密码短语。
如果是默认的话enter即可,密钥对路径
ls -l /root/.ssh/id_rsa*
2. 将公钥复制到远程服务器
生成密钥对后,您需要将公钥(通常是 /.ssh/id_rsa.pub
或您自定义的文件名加 .pub
后缀)复制到远程服务器的 /.ssh/authorized_keys
文件中。您可以使用 ssh-copy-id
命令来完成此操作:
ssh-copy-id -i /.ssh/id_rsa.pub username@remote_host
ssh-copy-id -i /root/.ssh/id_rsa.pub root@
remote_host
ssh-copy-id
命令将公钥(/root/.ssh/id_rsa.pub
)复制到远程服务器(124.223.34.66
)的 root
用户的 ~/.ssh/authorized_keys
文件中
源服务器:/root/.ssh/authorized_keys 文件
目标服务器:/root/.ssh/authorized_keys 文件
3.测试登录
ssh root@remote-host
无需密码即可远程登录。
4.多密钥登录
-
如果您有多个密钥,确保您使用的是正确的私钥。您可以使用
-i
选项指定私钥:ssh -i /root/.ssh/id_rsa root@remote-host
-
-i /path/to/private_key
:指定要使用的私钥文件的路径。请确保您使用的是私钥(例如id_rsa
),而不是公钥(例如id_rsa.pub
)。
5.注意事项
私钥权限:确保私钥文件的权限设置为 600
,以确保安全性。您可以使用以下命令设置权限:
1.为了确保连接成功,请保证以下文件权限正确。
chmod 600 /path/to/private_key
[root@VM-4-14-centos .ssh]# chmod 600 ~/.ssh/id_rsa
2.设置 SSH,打开密钥登录功能(使用公共镜像创建的Linux云服务器默认是开启的),编辑 /etc/ssh/sshd_config 文件,进行如下设置:
检查如下配置项,确保 root 用户能通过 SSH 登录:
3、完成上述配置后,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
4、重启 SSH 服务。
service sshd restart