先在本地电脑上生成rsa密钥(可通过安装git来支持),然后将公钥复制到远程服务器指定用户家目录下的.ssh/authorized_keys文件中,完成以上两部操作后,即可在本地通过密钥验证的模式访问远程服务器了
# 本地生成rsa密钥(自定义命名id_rsa_tom,本地测试服务器ip:92.168.1.201)
ssh-keygen -m PEM -t rsa -f id_rsa_tom -b 4096 -C "tom@test.com"
# 复制公钥到服务器指定用户下的.ssh/authorized_keys文件中(本例使用ssh命令行操作服务器root用户,会提示输入用户登录密码), -i 指定密钥文件
ssh-copy-id -i ~/.ssh/id_rsa_tom.pub root@192.168.1.201
# 使用ssh命令行登录服务器
ssh -i ~/.ssh/id_rsa_tom root@192.168.1.201
注:如果服务器更换了ssh远程访问端口,则可使用-p参数指定端口
# 复制公钥
ssh-copy-id -i ~/.ssh/id_rsa_tom.pub root@192.168.1.201 -p2222
# 远程登录-密钥模式
ssh -i ~/.ssh/id_rsa_tom root@192.168.1.201 -p2222 // -p 2222可含空格
# 远程登录-密码模式
ssh root@192.168.1.201 -p2222 //回车下一步输入密码
ssh-keygen命令中的参数意义:
- -t:生成密钥的类型
- -f:文件名称路径
- -C:注释信息