呜啦啦免密登入服务器
Posted ___Leo___
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了呜啦啦免密登入服务器相关的知识,希望对你有一定的参考价值。
使用SSH命令登录服务器时,每次总要重新输入密码,挺糟心的,利用sshpass指令或SSH公钥实现免密
两种方法实现免密登入服务器,目前在用的是第二种,但是由于第一种方便实现,也顺便说下
以下操作基于Linux
免密登入服务器
1. 第一种方法,利用sshpass指令,实现提前确认密码,直接登入服务器。
- 先对sshpass进行安装,命令如下:
$ sudo apt-get install sshpass
- 安装成功后,即可使用。格式如下
$ sshpass -p "passwaord" ssh -X username@hostname
- 但是仅仅这样,远远不够方便。进入home目录下的
.bashrc
文件,加入一行指令,内容如下:
alias ss1='sshpass -p "12345678" ssh -X username@hostname1'
alias ss2='sshpass -p "12345678" ssh -X username@hostname2'
- 其中,
12345678
是登入服务器所需的密码,username
是指登入服务器所用的用户名,hostname
则是服务器的名字或者IP地址。 - 修改完bashrc文件后,记得source以下,以使修改生效。
$ source ~/.bashrc
- 完成source之后,我们就可以利用
ss1
或ss2
等指令快速地登入服务器,且不需要重新输入密码。
$ ss1
#or
$ ss2
- 但第一次登陆服务器直接使用
sshpass
指令,可能会出现失效。所以第一次登陆服务器时,我们需要使用原始指令ssh
登录一次服务器,才可以使用sshpass
指令。
$ ssh -X username@hostname1
- 大功告成,可以愉快的玩耍了~~~下面介绍第二种方法:
2. 第二种方法,利用SSH key公钥登入服务器。
在此之前先介绍各服务器间进行免密登录的操作,再介绍由本地设备免密登录服务器。
各服务器间的免密登录
- 登录到任何一台服务器。(只有一台的话,那就登录仅有的一台吧)
- 检查服务器之前是否已经存在SSH key,避免覆盖。执行
ls -al ~/.ssh/id_rsa.pub
指令,如果pub文件存在,请跳过第三步,直接前往第四步。 - 没有pub文件,则需要生成一个。
$ cd ~/.ssh
$ ssh-keygen -t rsa -C xxx@mail.com -f id_rsa
执行上述命令,看到以下两项直接回车即可
Enter passphrase:
Enter same passphrase again:
- 前往.ssh目录
cd ~/.ssh
,执行该指令即可cat id_rsa.pub >> authorized_keys
。 - 大功告成,以后各服务器间,直接输入
ssh -X username@hostname
即可。 - 但是,我们仍然可以利用alias指设置更快捷的指令。前往服务器的bashrc文件,添加以下内容。
alias ss1='ssh -X username@hostname1'
alias ss2='ssh -X username@hostname2'
- 利用
ss1
或ss2
等指令便可以快速地切换服务器,特别好用!!注意,以上七步操作均基于服务器。 - 下面介绍由本地设备如何登入服务器。
本地设备至服务器的免密登录
- 和在服务器中的操作类似,首先检查本地设备是否存在SSH key。执行
ls -al ~/.ssh/id_rsa.pub
指令,如果pub文件存在,跳过第三步,直接前往第四步。 - 没有pub文件,则需要生成一个。
$ cd ~/.ssh
$ ssh-keygen -t rsa -C xxx@mail.com -f id_rsa
执行上述命令,看到以下两项直接回车即可
Enter passphrase:
Enter same passphrase again:
- 执行cat指令,查看key文件内容
cat ~/.ssh/id_rsa.pub
。 - 将第四步指令生成的一大串字符复制到任一服务器的
authorized_keys
文件中。(注意,这是服务器的文件,位置~/.ssh/authorized_keys
) - 利用alias指设置快捷指令。前往本地设备的bashrc文件,添加以下内容。
alias ss1='ssh -X username@hostname1'
alias ss2='ssh -X username@hostname2'
- 利用
ss1
或ss2
等指令便可以快速地登入服务器,非常好用!!注意,以上七步操作,除第五步是在服务器与本地设备之间进行复制操作外,其它操作均基于本地设备。。 - 愉快的玩耍吧~~
如果您在实际使用中出现问题或者有更好的解决办法,欢迎留言。
以上是关于呜啦啦免密登入服务器的主要内容,如果未能解决你的问题,请参考以下文章