菜单

用sshkey的计访gitlabCentOS下SSH无密码登录的配置。

2018年9月19日 - 中甲报道

当使jenkins创建jobs的下配置git为ssh访问的方法报错

记录错误信息

Failed to connect to repository : Command "/usr/bin/git ls-remote -h git@192.168.1.5:isuyang/isuyang-web-www.git HEAD" returned status code 128:
stdout: 
stderr: Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 
fatal: The remote end hung up unexpectedly

因以gitlab的ssh访问方式可绝不每次都输入密码。
煎熬自己好老啊,苍天啊!终于搞定了!再次记录转!

Linux下安排SSH无密码登录

步骤

基本原理

声明

本人之gitlab和jenkins都是安在与一个服务器上之,如果你的不以同台服务器,可以参照
零星客一律首笔记:【SSH免密码登陆的主意】去装:
http://cddaeec9.wiz03.com/share/s/3dSKX92EukLW2hw5300gKpTx1jKMc30ywQms2wZFRD0ujDzF

借设S为服务器端,C为客户端,C有S的拜访密码,或者说C有S的拜会权限。

配备服务器ssh免密码登录

那么非密码登录的法则就是是以S一端存放那些有看权限的C端的位置验证。

登录服务器切换至git账户

[root@localhost ~]# su - git
[git@localhost ~]$ 

不怕,在C端以ssh-keygen命令生成一对公/私钥,私钥放在C端,公钥上流传S端。

转变秘钥和公钥之前自己先去掉.ssh目录下之装有文件(非要)

[git@localhost ~]$ rm -rf /home/git/.ssh/*

这样,每次从C登录S的早晚,C端凭借在私钥让服务器端认证自己

始建公钥和私钥

执行命令:ssh-keygen -t rsa -C %22529572571@qq.com
一路Enter;

[git@localhost .ssh]$ ssh-keygen -t rsa -C "529572571@qq.com" 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/git/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/git/.ssh/id_rsa.
Your public key has been saved in /home/git/.ssh/id_rsa.pub.
The key fingerprint is:
37:28:62:b8:e0:57:9b:f7:1a:46:32:d2:e8:54:42:ef 529572571@qq.com
The key's randomart image is:
+--[ RSA 2048]----+
|   .             |
|  . .            |
|   . o           |
|   .*    .       |
|. .+oE..S o      |
|..ooo.*. . .     |
| ..o o +         |
|  .   o o        |
|       ...       |
+-----------------+

翻看转的秘钥文件

[git@localhost .ssh]$ ll
total 8
-rw-------. 1 git git 1675 Sep 23 16:29 id_rsa
-rw-r--r--. 1 git git  398 Sep 23 16:29 id_rsa.pub

带来后缀.pub的是公钥文件
勿带来后缀的是私钥文件

备工作1、确认本机sshd的布文件(需要root权限)$

用公钥文件写副到authorized_keys文件中

执行命令:cat id_rsa.pub >> authorized_keys

[git@localhost .ssh]$ cat id_rsa.pub >> authorized_keys

gedit
/etc/ssh/sshd_config找到以下内容,并夺丢注释符”#“RSAAuthentication

修改authorized_keys的文本权限

执行命令:chmod 600 ~/.ssh/authorized_keys

[git@localhost .ssh]$ chmod 600 ~/.ssh/authorized_keys 

yesPubkeyAuthentication

修改SSH配置文件,并再开ssh服务

这布局文件在/etc/ssh/sshd_config中
内需root用户失去修改,所以要是切换至root上。
管图被围绕住的老三单地方放
图片 1

执行命令:service sshd restart
图片 2

yesAuthorizedKeysFile

测试一下

假设执行命令:
git ls-remote -h 项目之地址
可知不吃输入密码便打响了!

[git@localhost .ssh]$ /usr/bin/git ls-remote -h git@192.168.1.5:isuyang/isuyang-web-sso.git
5033dfcb30a079d9cf9088778ac763817101e27b        refs/heads/master

.ssh/authorized_keys2、如果改动了配置文件需要重开sshd服务

配置gitlab

(需要root权限)$

添加gitlab ssh keys

图片 3

顾key为下图备受文件之始末:
图片 4

/sbin/service sshd restart

配置jenkins

入job里面找到【配置】
图片 5

找到源码管理:

部署步骤1.生改为公钥和私钥2.导入公钥到说明文件,更改权限3.测试

每当Respository URL这无异于棚输入下图被之地址:

图片 6

1、生成公钥和私钥执行命令:

配置 Credentials

无配备之前:
图片 7

Add—>Jenkins
图片 8
图片 9

还强调private key的情节是产图被文件的全部内容:
图片 10

长从此,选中刚刚添加的信息,就无报错了!
图片 11

ssh-keygen -t
rsa就后默认在/root/.ssh目录生成稀单文件:id_rsa:私钥id_rsa.pub:公钥2、导入本机Shell代码:

注意:

网上说需要重启jenkins,我从不重启,你可事先品尝一下而还报错可以又开试试。

cat /root/.ssh/id_rsa.pub >>
/root/.ssh/authorized_keys3、导入要无密码登录的服务器首先将公钥复制到服务器执行命令:

scp /root/.ssh/id_rsa.pub
xxx@host:/root/.ssh/id_rsa.pub将公钥导入到说明文件(这等同步之操作以服务器上进行)执行命令:

cat /root/.ssh/id_rsa.pub >>

/root/.ssh/authorized_keys4、在服务器上改动权限执行命令:

chmod 700 /root/.sshchmod 600 /root/.ssh/authorized_keys

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图