Jenkins自动发布-openssh7.1配置

Jenkins自动发布-openssh7.1配置,第1张

      在jenkins部署脚本自动发布的时候,在系统设置中,会用到jenkins插件ssh-plugin所带的“ssh sites”模块,但是如果目标服务器的openssh是70版本的话,jenkins会不识别openssh70的算法,导致jenkins一直会报“can not connect!”的错误。(如下图)

我也是煞费苦心,研究了好多天才,查了无数的文档,才得以解决。

首先,连接不上的原因,是因为openssh70更新了新的算法,老版本不识别新版本的算法。

其次,也有部分原因是jenkins插件的升级,相关插件及版本,如下图。
最后,保证以上插件版本都没问题的情况下,修改目标服务器上面的/etc/ssh/sshd_config文件:

1将 PasswordAuthentication 参数的值修改为yes,如果是注释掉的,把注释去掉。

2在文件最下方添加:

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,umac-64@opensshcom,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libsshorg

Ps:Ciphers 指定SSH-2允许使用的加密算法。

    MACs 指定允许在SSH-2中使用哪些消息摘要算法来进行数据校验。
    Kexalgorithms 指定可用的密钥(密钥交换)算法。
以上就是所有的步骤了。现在,再去jenkins里看下是不是好了。呵呵哒。

为此,楼主可是高兴了半天。

1、默认情况下,是无法使用xshell用root用户登录Ubuntu的,Ubuntu是禁用root登录的。

2、以普通用户登录系统,执行sudo passwd root设置root用户密码,如图。

3、设置之后,执行su root命令,输入刚设置的密码,即可成功切换到root用户,密码设置成功。

3、查询系统是否开启了ssh服务,若没有开启,尝试执行 /etc/initd/ssh start命令,若没有该命令则表明没有安装openssh-server。

4、这时使用xshell用root用户还是无法登录的,还需要修改/etc/ssh/sshd_config文件。

5、执行 vim /etc/ssh/sshd_config 修改该文件,将PermitRootLogin prohibit-password前面加上#注释掉,添加PermitRootLogin yes。

6、重启ssh服务/etc/initd/sshd restart。

7、在xshell中使用 ssh root@ip登录,如图登录成功。

SSH 为Secure Shell的缩写,是一款较可靠,专为远程登录会话和其他网络服务提供安全性的协议。且ssh适用性强,几乎适用于所有的UNIX平台。
一、检查SSH的安装
在使用SSH之前,我们必须检查电脑中是否已经安装了客户端openssh-client以及服务器openssh-server,我们可以使用 dpgk --l | grep ssh 来进行查看。

如果显示中拥有openssh-client和openssh-server,说明电脑已经安装了客户端和服务端。
二、安装openssh-client和openssh-server
sudo apt-getinstall openssh-client #安装客户端client sudo apt-getinstall openssh-server #安装服务端server
三、启动服务器SSH
启动SSH分两步。第一步是查看ssh-server当前状态,指令为 ps -e | grep ssh

一旦出现sshd,说明ssh-server当前处于启动状态。
启动、停止、重启ssh-server的指令为
sudo /etc/initd/ssh start#server启动ssh服务 sudo/etc/initd/ssh stop #server停止ssh服务 sudo/etc/initd/ssh restart #server重启ssh服务
四、获取服务器IP地址
此过程略。不同的设备方法不太一样难以统一,请搜索对应的方法。
五、使用SSH远程登录服务器
口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址
例如我的树莓派名为root@,我的树莓派IP为1921681111,那么我使用口令登录树莓派就要输入
ssh root@192168111
这样就可以登录了。

SSH(Secure Shell)协议为远程登录或其它网络服务(如:sftp、scp)提供安全保障的一种协议。它设计之初的主要目的是替代telnet远程登录协议,由于telnet协议以明文的方式在互联网上传递数据和服务器账户口令,别有用心的人很容易就可以截获得到这些数据和口令。以下是SSH详细的登录过程:

a、版本号协商阶段

服务器端启动ssh服务,并打开22号端口(也可以配置为其它端口),等待客户端链接。客户端向服务器端发起TCP连接。连接建立后,服务器端和客户端开始商议欲使用的协议版本号。如果协商成功,进入密钥和算法协商阶段,否则,断开TCP连接。

b、密钥和算法协商阶段

服务器端和客户端分别向对方发送算法协商报文,其中包括了自己支持的非对称加密算法列表、加密算法列表、消息验证码算法列表、压缩算法列表等。服务器端和客户端根据双方支持的算法得出最终使用的算法(如非对称加密算法是采用RSA,还是DSA)。协商完成后,服务器端将自己的公钥发送给客户端,客户端根据公钥指纹决定是否信任此主机。选择信任此主机后,客户端使用服务器端的公钥将自己生成的会话密钥加密,发送给服务器端。以后的会话内容和口令都通过此会话密钥加密发送。通常,每过一个小时,服务器端和客户端会重新商定会话密钥,以防止会话密钥被暴力破解。

c、认证阶段

基于口令的认证:

客户端采用在算法协商阶段产生的会话密钥加密帐号、认证方法、口令,并将其传送给服务器端。服务器端收到后将其解密后,基于本地账户密码对其判断是否正确。如果正确,成功建立登录连接,否则,向客户端返回认证失败报文,其中包含了可再次认证的方法列表。当登录请求次数达到可允许的尝试上限次数后,服务器端断开本次TCP连接,并限制此帐号连接请求。

基于密钥的认证:

客户端使用ssh-keygen工具在本地家目录的ssh/目录下生成一对密钥(如:公钥id_rsapub、私钥id_rsa)。并将公钥追加保存到将要登录的服务器上的那个帐号家目录的ssh/authorized_keys文件中。客户端使用算法协商阶段生成的会话密钥加密帐号、认证方法、公钥,并将其传送给服务器端。服务器端收到后将解密后的公钥与本地该帐号家目录下的authorized_keys中的公钥进行对比。如果内容不相同,认证失败,否则服务器端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户端收到后将解密后的随记字符串用会话密钥加密发送给服务器端。如果发回的字符串与服务器端起先生成的一样,则认证通过,否则,认证失败。

openssh便是SSH的一个开源实现。本文后续部分将简要介绍如何用openssh基于口令和密钥的远程登录。
示例:

# ssh root@17229166218

如果是第一次登录远端主机,系统会出现以下提示:

因为协议本身无法确认远端服务器的真实性,用户自行根据提供的经SHA256算法提取的公钥指纹判断其真实性。如果确认为真,则输入帐号密码以登录服务器端。
a、首先在客户端生成一对密钥

示例:

b、将客户端公钥保存到服务器端

示例:

另外,可以不使用ssh-copy-id命令,改用以下命令,可以更好的理解公钥的保存过程:

c、登录验证

如果仍然无法无口令登录,请检查sshd配置文件/etc/ssh/sshd_config,并将以下几行前面的注释符号取消。

0前言
公司采用三方漏洞扫描时发现大量openssh漏洞,最终修复漏洞方案为将openssh升级到官方最新版本。

*** 作系统: Centos72
网络状况: 可以访问外网
Openssh版本: OpenSSH_661p1, OpenSSL 101e-fips 11 Feb 2013

修改配置文件/etc/xinetdd/telnet 将里面的”disable= yes”改成” disable=no” ,修改后结果

在/etc/securetty文件末尾增加一些pts终端,直接加在末尾就可以了

防火墙开启23号端口,当然也可以直接关闭防火墙 ,这里选择关闭防火墙

或修改配置文件,永久生效。

(4)安装依赖包

42 换成telnet登录服务器
其换成telnet登录服务器,更新过程ssh连接会断,导致无法连接

43 安装Openssl步骤
(1)替换会被备份的文件

(2)解压软件包并且进入目录进行编译

(3)创建软连接

(4)验证文件

(5)修改配置文件

52 安装步骤
(1)解压压缩包

(2)修改目录权限

(3)备份会替换的文件

(4)执行编译安装

(5)修改配置文件

(6)文件替换

(7)添加开机自启动

(8)重启ssh

注意:在运行这个脚本的时候备份文件必须要是/back_up/backuptgz,如果备份的时候叫其他名称,请自行修改脚本。还有脚本不能运行为前台且跟终端相关进程,因为经测试发现在还原的时候ip会被冲掉。所以远程连接会断掉

最后需要注意的是执行脚本会重启机器

vi /etc/xinetdd/telnet 在disable=yes前加#,即#disable=yes
二、要启动telnet 服务就必须重新启动xinetd [root@localhost root]#service xinetd restart
三、关闭防火墙,等。。
四、要域名访问的话,要开启路由器的 23 端口映射
五、关闭的话就是 设置成 disable=yes ,然后重启xinetd service xinetd restart 1。基础知识 linux提供服务是由运行在后台的守护程序(daemon)来执行的。 守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个连接,而父进程继续监听其他服务的请求。 但是,对于系统所提供的每1个服务,如果都必须运行1个监听某个端口连接发生的守护程序,那么通常意味着系统资源的浪费。为此,引入“扩展的网络守护进程服务程序”xinetd(xinetd internet daemon)。telnet服务也是由xinetd守护的。 2。检测telnet、telnet-server的rpm包是否安装 OS:RedHat9 [root@localhost root]#rpm -qa telnet telnet-017-25 //telnetrpm是默认安装的// [root@localhost root]#rpm -qa telnet-server 空 //telnetrpm是默认没有安装的// 3。安装telnet-server 第3张盘上有telnet-server-017-25i386rpm [root@localhost root]#rpm -ivh telnet-serveri386rpm 4。修改telnet服务配置文件 vi /etc/xinetdd/telnet service telnet { disable = yes flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/intelnetd log_on_failure += USERID } 将disable=yes行前加#,或者改为disable=no PS: 安装telnet-server后,系统才有文件/usr/sbin/intelnetd 5。重新启动xinetd守护进程 由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd [root@localhost root]#service xinetd restart 或 [root@localhost root]#/etc/initd/xinetd restart 6。关闭系统的防火墙 linux系统默认的防火墙是“high” 命令行界面CLI: [root@localhost root]# setup 选择:“firewall configuration” 选择:security level——“no firewall” 7。测试 telnet IP QUOTE: Red Hat Linux release 9 (Shrike) Kernel 2420-8 on an i686 login: 出现,就OK了! 8。telnet默认开机启动 1)。命令ntsysv 找到telnet,用空格键激活()服务 2)。命令chkconfig chkconfig --add telnet chkconfig telnet on 3)。图形用户界面GUI redhat-conhat-config-services 或 “主菜单”——“系统设置”——“服务器设置”——“服务” 4)默认下,telnet不允许root登录通过编辑/etc/pamd/login文件,放开root用户登录权限控制 # vi /etc/pamd/login 在auth required /lib/security/pam_securettyso行前加“#”号注释,注销该行。 PS: 由于telnet登陆时是明文传送密码,所以不安全,建议使用ssh(secure shell)替代! windows下一般用F-Secure SSH ,putty SSH ------------------------------------------- 四、设置telnet端口 #vi /etc/services 进入编辑模式后查找telnet(怎样查找) 会找到如下内容: telnet 23/tcp telnet 23/udp 将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。 五、Telnet服务限制 如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 19216801 与对内的2104516017 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定: #vi /etc/xinetdd/telnet # 先针对对内的较为松散的限制来设定: service telnet { disable = no <==预设就是激活 telnet 服务 bind = 2104516017 <==只允许经由这个适配卡的封包进来 only_from = 210451600/24 <==只允许 210451600/24 这个网段的主机联机进来使用 telnet 的服务 } # 再针对外部的联机来进行限制 service telnet { disable = no<==预设就是激活 telnet 服务 bind = 19216801<==只允许经由这个适配卡的封包进来 only_from = 19216800/16<==只允许 19216800 ~ 192168255255 这个网段联机进来使用 telnet 的服务 only_from = educn<==重复设定,只有教育网才能联机! no_access = 19216825{10,26}<==不许这些 PC 登入 access_times = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务 }
六、Telnet root用户的登入 root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法 [root @test /root]# vi /etc/pamd/login #auth required pam_securettyso #将这一行加上注释! 或 # mv /etc/securetty /etc/securettybak 这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限! 安全的ssh SSH是一个用来替代TELNET、Rlogin以及Rsh的传统的远程登陆程序的工具,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个不兼容的版本1x,2x!RedHat Linux 9将默认的远程管理服务设置成OpenSSH(一个ssh的替代产品)。不需要重新安装软件包! 一、配置openssh服务器 1、ssh的配置文件是/etc/ssh/ssh_config,一般不要修改! 2、启动服务器! #ntsysv =>确认将sshd前面的勾已打上! 3、手工启动OpenSSH: #service sshd start #service sshd restart(重新启动) 4、停止服务器: #service sshd stop 二、使用OpenSSH客户端 Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和

SSH是什么

OpenSSH是什么

SSH公钥登录的前提是已经登录过SSH

SSH公钥登录的原理

使用上述命令创建 RSA的公钥和私钥
输入命令之后, 一路回车就可以, 生成下图中两个私钥 id_rsa 和公钥 id_rsapub

这里的ip是你手机wifi的ip地址, 会将文件拷贝到 ~/ssh/ 目录下

中间会需要你输入链接服务器(手机)的密码

密码默认是: alpine (在OpenSSH源中可以看到)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13477445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-14
下一篇 2023-08-14

发表评论

登录后才能评论

评论列表(0条)

保存