Centos设置SSH 免密码登入
“公私钥”认证方式简单的解释是:首先在客户端上创建一对公私钥(公钥文件:/.ssh/id_rsa.pub;私钥文件:/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。
- 修改服务器(/etc/ssh/)sshd config配置
登录服务器的root用户,然后输入
RSAAuthentication yes
PubkeyAuthentication yes
两句,用以开启ssh证书登录
注意到文件中有一行 AuthorizedKeysFile .ssh/authorized_keys
这里指定了root公钥存放的文件,下一步要做的就是将自己公钥加到这个文件里 - 获取自己机器的公钥
ssh-keygen -t rsa
之后一路回车,公钥和私钥都会存在默认的~/root/.ssh/目录中。
进入这个目录,用 cat id_rsa.pub 查看公钥,然后将显示的内容复制到服务器的authorized_keys(服务器若是无此文件,则新建一个即可)中即可,此文件一行一个公钥
eg:docker 配合gitlab-ci ssh 连接服务器(eg 使用http://xxxxxx接10.xx.xx.xxx)设置免密登入(如上设置)切记要使用gitlab-runner 用户(首次要在runner 服務器上面用gitlab-runner 用戶登入一下))