ssh使用公钥登录远程服务器

生成公钥和私钥

ssh-keygen -t rsa t 是代表type 默认type就是rsa 所以也可以直接ssh-keygen
或者你想安全级别更高 ssh-keygen -b 4096 -t rsa
生成的公钥保存在 .ssh/id_rsa , 私钥在.ssh/id_rsa.pub

上传公钥到远程服务器

首先在远程服务器vim /etc/ssh/sshd_config确保下面三个选项是打开的
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存后 centos版本 使用service sshd restart 重启ssh服务

  • 方案一

本地客户端输入ssh-copy-id user@host, 就可以将公钥上传到远程服务器的.ssh/authorized_keys
这个时候使用ssh user@host就可以不用输入密码直接登录远程服务器了

  • 方案二

sftp SSH 文件传输协议

sftp user@host
put ~/.ssh/id_rsa.pub 指定远程目录(如果不指定,默认到user根目录)
exit

接下来

ssh user@host
cat ./id_rsa.pub >> ./.ssh/authorized_keys(如果没有.ssh文件夹和authorized_keys文件,可以手动创建)

完成

你可能感兴趣的:(ssh使用公钥登录远程服务器)