简言

这里说的免密登陆指的是:

在服务器serverA 上免密码登录到服务器serverB上,用户和密码都是serverB上的,只是在serverA上登陆serverB时,不需要输入密码

免密登陆配置

第一步:生成公钥,私钥

使用命令 ssh_keygen 在用户的根目录下的.ssh目录中生成自己的公钥和私钥,执行命令 ssh_keygen时会出现几个询问,不用理会一路回车即可,如下图所示,

ssh配置免密登陆和别名登陆_根目录

上述命令运行结束以后,在$HOME/.ssh/目录下 

会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥文,后者是你的私钥。

比如我刚才用的是root用户,执行完ssh-keygen后就会在目录  /root/.ssh/ 下生成上面两个文件,如下图(如果ll命令看不到.ssh目录,可以用 ll -a 命令显示全部文件)

ssh配置免密登陆和别名登陆_ssh快捷登陆_02

查看公钥文件如下

第二步:拷贝公钥到要登陆的远程主机

使用命令 ssh-copy-id -p port user@ip,把刚才的is_rsa.pub文件中的内容拷贝到指定服务器用户根目录下的.ssh文件夹下的authorized_keys文件中,中途需要输入一次密码,这也是最后一次输入密码,如下图

ssh配置免密登陆和别名登陆_根目录_03

 现在到目标服务器192.168.5.98上,打开文件 /home/yzf/.ssh/authorized_keys,可以看到其内容和刚才生成的公钥文件内容完全一样

第三步:免密登陆实验

使用ssh登陆命令登陆目标服务器,可以看到不用输密码,直接就登陆成功了

ssh配置免密登陆和别名登陆_服务器_04

 ssh创建别名

如果仅仅只是免输密码登陆,还是不够简单,毕竟每次还得记住账号,IP地址,输入一大串。如果一个命令,几个字符就能登陆上服务器就好了。还是上面的例子,如果能 ssh 98 就登陆到192.168.5.98机器就比较简洁,也就是说创建一个ssh别名

第一步:打开或新建/config文件

打开/root/.ssh/config文件,没有则新建该文件

ssh配置免密登陆和别名登陆_服务器_05

第二步:配置ssh别名

 添加ssh别名配置,如果有多个ssh别名,中间空一行即可

ssh格式为

Host xxxx

HostName xxxxxxxx

User xxxx

如下图,这里定位别名为98,即表示用来登陆192.168.5.98机器

ssh配置免密登陆和别名登陆_ssh快捷登陆_06

 第三步:别名测试登陆

配置好ssh别名,只用输入“ssh 别名”即可登陆到指定的机器上,以刚才98为例如下图

ssh配置免密登陆和别名登陆_ssh免密登陆_07