关键词:自动化工具,目录
整体梳理如下:
主机密码登录:
当我购买一个一个远程主机之后会给我提供
- host (就是那个IP地址)
- user (就是用户名字,一般新主机都是root, 登录后可以自己新建其他的用户)
- password
我要使用这两者来登录需要
登录之后的其他操作
- 我登录之后,新添加用户
adduser username
,尽量不要使用root来操作 - 以后我要直接远程登录此新加用户,对应的user就要填新添加的
username
ssh username@host
- 然后使用密码登录
NOTICE:我们新添加用户之后,此用户是没有sudo
命令的,所以我们要给新增的用户加上此权限,如下:
1、用root帐号登录或者su到root。
2、增加sudoers文件的写权限:
chmod u+w /etc/sudoers
或者chmod 700 /etc/sudoers
3、
vim /etc/sudoers
找到root ALL=(ALL) ALL
在这行下边添加username ALL=(ALL) ALL
(ps:suername
代表是你要添加sudo
权限的用户名)4、除去
sudoers
文件的写权限:chmod u-w /etc/sudoers
或者chmod 400 /etc/sudoers
文件权限
rwx
对应421
公钥登录
然后为了不再使用密码登录,我们就要使用公钥登录
原理:
所谓”公钥登录”,原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
第一步:生成需要的公钥
ssh keygen
(如果已经有了公钥了们就可以不用再生成,当然想再生成其他新的也可以)
默认生成的私钥和公钥的名字是id_rsa
和id_rsa.pub
如果已经有了key,不想新生成的key覆盖原来的key,我们使用ssh keygen newkeyname
来
生成新的key。
上面的id_rsa.erhua
就是我们指定的文件名,这时~/.ssh
目录下会多出id_rsa.erhua
和id_rsa.erhua.pub
两个文件,id_rsa.erhua.pub
里保存的就是我们要使用的公钥。
第二步:将公钥复制到对应的远程主机上去,并配置远程主机
- 使用
scp
将公钥文件复制到远程主机的.ssh/
文件内 - 并把公钥内的内容复制追加到远程主机
.ssh/authorized_keys
文件内(如果没有此文件,须新建) - 检查
/etc/ssh/sshd_config
文件内一下三项内容是否全部开启:RSAAuthentication yes
,PubkeyAuthentication yes
,AuthorizedKeysFile .ssh/authorized_keys
- 重启远程主机的ssh服务1234// ubuntu系统service ssh restart// debian系统/etc/init.d/ssh restart
第三步:配置本地的config文件快速连接host
为了让登录更加的轻松,简化ssh user@host
的形式,我们可以配置config
文件来实现
- 打开本地
.ssh/config
文件,若没有,则新建 已如下形式保存一个远程登录的信息
1234Host erhua # 连接时用的名字HostName 207.148.14.198 # 远程主机的host地址User erhua # 要登录的远程主机的账户(就是在host上的用户名字root或者其他新建)IdentityFile ~/.ssh/id_rsa # 你的私钥地址,相当于密码使用此方式登录 ——
ssh erhua