设置本机登录ssh不需要密码

理解:

命令1:$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

这个命令会产生一个公钥(~/.ssh/id_rsa.pub)和密钥(~/.ssh/id_rsa),

-t dsa:表示使用密钥的加密类型,可以为'rsa'和'dsa'

-P '':表示不需要密码登录

-f ~/.ssh/id_dsa:表示密钥存放的路径为${USER}/.ssh/id_dsa

命令2:$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将本机的公钥添加进authorized_keys中,这样允许本机通过ssh的形式免密码登录

注意使用>>,而不是>,因为如果其它主机(如A)也采用免登陆的形式登录,也可以把主机A的公钥添加到authorized_keys文件中。这样主机A就可以免登陆ssh到本机了。

step 1 制作密钥对

在客户端(本地机器)终端下输入以下命令

ssh-keygen -t [rsa|dsa]

rsa和dsa代表不同的算法

例如:

ssh-keygen -t rsa

一直回车就对了(不用设置密码)

将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub(如果用dsa则生成id_dsa,id_dsa.pub)

生成位置在/root/.ssh/文件夹下(我用的是root用户所以在root下,生成过程会有提示文件位置)

.ssh 是隐藏文件夹 使用 ls -a查看

将公钥放到服务器指定位置

方法一、直接复制

1、将公钥复制到服务器的root用户下的.ssh文件夹(用哪个用户登录就复制到哪个用户下的.ssh文件夹下)

scp /root/.ssh/id_rsa.pub root@172.16.0.164:/root/.ssh/

2、安装公钥

登录到服务器cd /root/.ssh/

cat id_rsa.pub >> authorized_keys

方法二、使用ssh-copy-id命令复制(推荐)

一个命令直接就ok了

ssh-copy-id root@172.16.0.164

不需要密码就OK

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐