1.引言
1.1 如何登录云主机
在Windows环境下:使用xshell,SCRT,GitBash,MobaXterm 在unix或Linux环境下:利用ssh命令登录,标准语法为(ssh 账号@主机名称)
1.2 Linux下编辑hosts文件
vim /etc/hosts
运行上述命令,打开路径下的hosts文件后,你会发现形如:140.82.114.3 github.com 的记录, 140.82.114.3 为ip,github.com为该IP的名字(外号)。 我们可以在该文件末尾追加其他主机的信息:
120.209.130.1 test test1 test2 test3
保存退出后,接下来我们就可以用下面的命令来登录:
ssh root@test
这样子看来,是不是比ssh root@120.209.130.1方便了很多。
1.3 Linux环境下的alias命令
用户可利用alias,自定指令的别名。运行alias命令后,可以看到所有命令和其别名。 如上图所示,原本我们需要运行“ls -lah”来实现的命令,可以通过直接运行"l"命令来实现同样的效果。因此,我们可以通过alias命令来对复杂的命令进行重命名,需要注意的是在终端直接运行alias命令只是临时生效,如果需要长久生效,则需要在配置文件(如/etc/profile,/etc/bashrc,~/.bashrc ~/.bash_profile等)中添加alias命令。alias的语法如下:
alias[别名]=[指令名称]
举例: alias ah=‘ssh root@test’
1.4 Linux环境下的unalias命令
在1.3中我们设置了别名,如果我们不想使用这些别名时,可以使用unalias命令来移除别名。语法如下:
unalias [别名]
1.5 公钥与秘钥
生成秘钥的方法:
ssh-keygen
将公钥拷贝到需要远程的云主机上,方法有两种。 手动:cat ~/.ssh/id_rsa.pub—>复制内容—>登录远程云主机(需要进行免密设置的云主机)—>vim ~/.ssh/authorized_keys—>粘贴后保存 自动:ssh-copy-id root@test
2.实现免密登陆完整步骤
如果我们需要在Linux主机(简称A)登录另外一台Linux云主机(简称B,ip:120.209.130.1,账号:test),则需要在A主机上进行以下操作。
2.1 修改hosts文件
vim /etc/hosts
在文件末尾追加以下信息(根据个人情况进行设置):
120.209.130.1 b
2.2 利用alias设置简称
vim /etc/bash.bashrc
在文件末尾追加以下内容:
alias ab='ssh test@b'
保存后,在终端运行以下命令,对配置文件进行刷新,对其他类型的配置文件,请根据配置文件名称来刷新。
source /etc/bash.bashrc
2.3 将公钥发送给B云主机
生成秘钥:
ssh-keygen
将公钥自动发送到B云主机,并输入test账号的密码
ssh-copy-id test@b
2.4 进行登录
在终端输入:ab ,免密登陆成功。
3.总结
该操作不仅可以实现两个云主机的免密登陆,还可以实现同一台云主机上两个用户之间的免密登陆,可以说是非常方便。便利的同时,也存在着必要的风险,在日常工作和生活中还是谨慎使用。
|