ssh免密码设立

ssh免密码设置

工作中, ssh和scp很常用,不过每次都要记住每个主机的IP用户名,还有就是要输入密码

如果主机个数只有一两个,那还可以,但是多了就乱了. 之前一直误解这个免密码实用性不大. 现在三台主机间就乱了

所以有必要亲自设置一下

1. 在client端先生成公私钥

<span style="font-size:18px;">ssh-keygen -t rsa</span>
2. 查看本地.ssh文件

.
├── authorized_keys
├── config
├── id_rsa
├── id_rsa.pub
└── known_hosts
生成的是id_rsa和id_rsa.pub, 分别是一个私一个公钥

3. 将本地的id_rsa.pub加到需要登录的主机中的authorized_keys中

这里需要登录的主机是server端, 如果没有authorized_keys则创建, 有则添加,是添加不是覆盖

登录到服务器端

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


4. 下一步就可以免密码登录了

比如 ssh wen@10.2.0.138


5. 但是这个还是没有达到理想的状态, 因为这个命令也有点长, 而且还要记住IP,就需要在client即本地设置config文件,如果没有就新建, 这个文件如上面的文件夹中

设置如下:

Host simplename
    Hostname 10.2.0.138
    Port 22
    User username

这里 host后面是简称, 配置好后直接 ssh simplename就可以免密码登录了

后面就是IP, Port, 和登录名


6.还有一个权限的问题. 就很容易解决, 这里只是记录一下