Linux ssh公钥方式登陆

ssh 无密码登录要使用公钥与私钥。
linux下可以用ssh-keygen生成公钥/私钥对。
有机器A(tom),B(pete)。现想A通过ssh免密码登录到B。

  1. 以目标账户登录A生成公钥/私钥对。

[tom@v05-dev-env10 ~]$ ssh-keygen -t rsa -P ''

-P '' 就表示空密码,也可以不用-P参数,这样就要三次回车,用-P就一次回车。
该命令将在当前账户.ssh目录下面产生一对密钥,私钥:id_rsa和公钥:id_rsa.pub。

下述命令产生不同类型的密钥

  • ssh-keygen -t dsa
  • ssh-keygen -t rsa
  • ssh-keygen -t rsa1
  1. 在B机器下建建立文件夹

[pete@localhost ~]$ mkdir ~/.ssh

把A机下的~/.ssh/id_rsa.pub 复制到B机的 ~/.ssh/authorized_keys文件里

[tom@v05-dev-env10 ~]$ scp ~/.ssh/id_rsa.pub pete@10.20.7.190:/home/pete/.ssh/authorized_keys

注意如果之前有authorized_keys这条命令会把文件覆盖

  1. 在B机器把.ssh文件夹及authorized_keys文件权限,要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效

[pete@localhost ~]$ chmod 700 .ssh
[pete@localhost ~]$ chmod 600 .ssh/authoized_keys

  1. 在A机器执行ssh登陆B

[tom@v05-dev-env10 ~]$ ssh -l pete 10.20.7.190

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容