[Linux] ssh免密码登录

 

目标:本地机器ssh登录远程目标机器时不用输入密码 (默认状态下,ssh user@192.xxx.x.xxx需要输入密码)

原理:通过公钥和私钥实现系统认证

实现:把本地机器的公钥复制到目标机器

 

具体:

1. 在本地机器生成公钥私钥对(如果之前已经执行过,这一步可以跳过)

ssh-keygen -t rsa

或者 ssh-keygen -t rsa -P ''

-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

该命令在~/.ssh/目录下生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)

 

2. 把本地机器的公钥复制到目标机器

方法1:

ssh-copy-id user@192.xxx.x.xxx

该命令会将把本地机器的公钥复制到目标机器的 ~/.ssh/authorized_keys文件中

 

方法2:

scp ~/.ssh/id_rsa.pub user@192.xxx.x.xxx:~/.ssh/

cat id_dsa.pub >> ~/.ssh/authorized_keys

(或者直接 scp ~/.ssh/id_rsa.pub user@192.xxx.x.xxx:~/.ssh/authorized_keys)

 

3. 然后ssh remote_host 登录远程机器就不需要密码了.

 

参考:

使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录

ssh-keygen生成密钥设置方法,让ubuntu无密码登录linux

ssh-keygen的使用方法

 

posted @ 2017-08-18 16:51  焦距  阅读(421)  评论(0编辑  收藏  举报