阿里云堡垒机密钥连接ECS服务器

文:铁乐与猫
2017-6月中旬

堡垒机远程桌面windows系统就不用细说了
堡垒机远程ssh连接linux系统倒要说一下,毕竟是为安全一般只用通过密钥连接,而不使用密码的方式连接。

首先我们得在需要远程的服务器上创建ssh密钥对,
比如我在Redis服务器上有yunwei和kaifa两个用户,就可以分别在不同用户的家目录下创建密钥对:

比如上图是在kaifa的家目录下,敲命令:
ssh-keygen -t rsa
表示创建一对rsa密钥(因为阿里云的堡垒机只认ssh-keygen创建的rsa密钥)
三次回车(第一次是默认名称、第二次是默认空密码、第三次是确认)之后,
在kaifa的家目录下会生成.ssh/(隐藏目录)
和.ssh/下的id_rsa(私钥,2048位)、id_rsa.pub(公钥,要追加到认证文件)

接下来要做的是将公钥追加到authorized_keys文件上(默认的名字,当然你也可以改)
这个文件随追加命令敲完后而生成
cat id_rsa.pub >> authorized_keys

注意,以上命令操作都是在已经cd进.ssh目录下敲的,不然的话你要敲全路径。

还有特别重要的一步,修改authorized_keys文件为600权限!
chmod 600 authorized_keys

如果这一步没做将会导致ssh连接不成功,认证失败。
其实除了authorized_keys文件需要600权限以外,.ssh/目录也是需要700权限,
只不过在敲ssh-keygen -t rsa 三次回车默认创建的.ssh/目录就是700罢了。

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
        1) .ssh目录的权限必须是700 
        2) .ssh/authorized_keys文件权限必须是600

再来是修改sshd_config配置文件,使ssh使用密钥认证生效

分别去除以下三行的#号注释

RSAAuthentication           yes
PubkeyAuthentication        yes
AuthorizedKeysFile          .ssh/authorized_keys

(RSA认证开启、公钥开启、公钥记录文件指定)
此外,如果只允许使用密钥ssh连接,那么可以将密码认证给设置为不开启-no:
PasswordAuthentication no
这样会更安全。

重启ssh服务
service sshd restart
本机连接普通用户测试
**ssh localhost **

堡垒机上设置好凭据,简单来说也就是将私钥id_rsa对应下载回本地客户机,
然后再打开文件,复制里面的内容到堡垒机网页相应设置上。

如果是在普通的linux客户端上用ssh命令连接是这样的:

ssh -i 私钥文件 用户@远程服务器IP -p ssh端口

而在堡垒机上只不过隐藏了这条命令,界面是这样的:

当然后面可以根据分明细组和用户来做到列表明细化。
这就不是重点了。

END

原文地址:https://www.cnblogs.com/tielemao/p/8509153.html