Articles of ssh

如何使用Jenkins Publish通过SSH插件进行Agent转发

我有一个docker部署设置,其中Jenkins通过SSH插件通过SSH连接运行docker-compose。 我们希望在私有EC2(即私有子网)上运行应用程序容器,并希望通过堡垒主机连接到它。 我想知道如何configuration通过SSH发布插件,让我SSH入堡垒主机,然后转发到应用程序服务器。 看起来这是一个最近的介绍 ,但我没有看到更改日志中的任何说明或维基页面上的说明。 我承认对于ssh代理转发来说是新的,所以我可能会过度或者误解某些东西,但是我觉得Jenkins需要存储(至less)两套凭证,一个用于堡垒主机,一个用于每个私人应用程序服务器(我只看到单一的凭据部分…)。

OpenVPN:client.ovpn中无法识别的选项或缺less的参数:15:block-outside-dns

网上没有任何方法为我工作,所以我决定问。 当我尝试 sudo openvpn –config client.ovpn 我得到了结果 Wed Aug 2 22:53:18 2017在client.ovpn中无法识别选项或缺less参数:15:block-outside-dns(2.3.10) Wed Aug 2 22:53:18 2017 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL(OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6]build立在Jun 22 2017 Wed Aug 2 22 :53:18 2017库版本:OpenSSL 1.0.2g 2016年3月1日,LZO 2.08 Wed Aug 2 22:53:18 2017无法加载内联证书文件:错误:0906D06C:PEM例程:PEM_read_bio:没有启动行:错误:140AD009:SSL例程:SSL_CTX_use_certificate_file:PEM lib Wed Aug 2 22:53:18 2017由于致命错误而退出 我跟着这个https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04#step-13-test-your-vpn-connection然而,它没有为我工作,它给tls连接错误丢失握手,所以我试着在该页面上的第一个评论,人们说,它的工作完美无瑕。 那么我得到这个错误。 我的client.ovpn client dev tun proto […]

丢弃ICMP,不能再远程login服务器

出于安全原因,我configurationiptables放弃所有icmp pacakes在皮疹。 所以现在我不能通过SSHlogin服务器。 更糟糕的是,服务器是虚拟机,所以我失去了控制权。 任何人都可以给一些有益的build议? 谢谢。

从sshd调用sss_ssh_authorizedkeys时返回错误代码13

我正在使用configuration了SSH密钥的FreeIPA服务器添加到用户。 我试图让服务器使用来自IPA服务器的ssh密钥进行身份validation,所以我不必pipe理许多authorized_keys文件。 我可以确认这些密钥是sss_ssh_authorizedkeys <user>使用sss_ssh_authorizedkeys <user>添加和检索的,在查询时会为每个用户返回相应的密钥。 但是,当sshd运行该命令时, sss_ssh_authorizedkeys失败,错误代码为13。 我的testing系统是我的CentOS IPA服务器。 我将下面的代码片段添加到了我的sshd_config来启用这个configuration: AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys AuthorizedKeysCommandUser nobody 我也尝试了AuthorizedKeysCommandUser作为根,以确保它不是一个权限问题。 我GOOGLE了我的错误,从IRC归档返回一个单一的结果,最终的结果(从我能告诉)是解决scheme通过电子邮件发送给提问者。 我认为这可能是SELinux的一个问题(在Web服务器场景中困扰着我),但是search“ ssh ”,“ sshd ”或“ authorizedkeys ”并没有产生任何我看不到的东西。 我在阅读身份validation日志方面也不是很擅长,所以我不排除把SELinux作为罪魁祸首。 以下是IPA框中由sshd -ddd生成的日志片段: Connection from 10.77.1.198 port 56579 on 10.77.1.20 port 22 debug1: Client protocol version 2.0; client software version OpenSSH_7.5 debug1: match: OpenSSH_7.5 pat OpenSSH* compat 0x04000000 debug1: Enabling compatibility mode […]

在Docker运行时使用ENTRYPOINT和CMD在Centos 7 OS Docker容器中启动sshd

我知道我可以在Docker docker run <debug_container_id>的CentOS 7基本Docker容器中启动sshd CMD ["/usr/sbin/sshd","-D"] ,因为我在别处看到过它 https://stackoverflow.com/a/25449705/1258525 https://engineering.riotgames.com/news/jenkins-ephemeral-docker-tutorial https://github.com/CentOS/CentOS-Dockerfiles/blob/master/ssh/centos7/Dockerfile 当我运行我的容器时我无法启动sshd,我认为这与我的ENTRYPOINT中的ENTRYPOINT和CMD组合有关。 我采取的步骤: docker run –name="<debug_container_id>" -d <debug_image> docker exec <debug_container_id> ps aux 你可以看到我的ENTRYPOINT ,“dotnet TSL.Security.Service.dll”与docker exec <debug_container_id> ps aux的输出中的“/ usr / sbin / sshd -D” 我目前的工作是让sshd运行: docker exec -d <debug_container_id> bash -c "/usr/sbin/sshd -D" 用我的解决方法,我可以进入容器。 所以你可以把ENTRYPOINT和CMD结合起来, 这里虽然文章的作者正在构build一个单一的string命令来执行使用ENTRYPOINT和CMD的组合。 我正在尝试执行两个命令string。 在重读那篇文章之后,我开始意识到,使用ENTRYPOINT和CMD一起被用来构build一个单一的string命令,在docker run用户可以覆盖CMD参数的情况下执行。 在我试图在容器运行中执行两条命令的地方,所以我尝试将我的入口点更改为以下,并完全删除CMD: ENTRYPOINT ["dotnet", "TSL.Security.Service.dll", […]

在bash shell和ssh shell中加载JSON varenv

上下文 我在本地部署METEOR应用程序,我的开发人员通过bash脚本部署它们。 应用程序依赖于作为环境variables加载的简单string,但有一个特殊的string包含整个JSON对象。 我想要的是 我正在寻找一种方法来在上下文中共享相同的环境variables,shell bash和通过SSH启动的脚本。 我试过了 我创build了一个通用文件: 猫〜/ config.env PATH=/home/team/.nvm/versions/node/v6.11.0/bin/:/usr/local/bin:/usr/bin:/bin ROOT_URL=https://team.example.com MONGO_URL=mongodb://team:<password>@localhost/team_db1 BIND_IP=127.0.0.1 PORT=3001 METEOR_SETTINGS={"ENV":"prod","migration":{"gamification":"0"},"cron":{"enable":"1"},"mongo":"",… } 我把这个文件和ssh环境联系起来: ln -s〜/ config.env〜/ .ssh / environment 我在〜/ .bashrc中find了相同的文件 source ~/config.env 我面对什么问题 JSONstring的引号解释有问题。 这个configuration适用于ssh: ssh [email protected] env METEOR_SETTINGS={"ENV":"prod","migration":{"gamification":"0"},"cron":{"enable":"1"} … 但是这在当地并不适用 源码config.env ENV METEOR_SETTINGS={ENV:prod,migration:{gamification:0},cron:{enable:1}, … 所有的双引号消失,使JSON对象本地无效。 如果我单引号所有的string,JSON对象在本地有效,但单引号出现在string通过SSH使它无效远程。 题 我怎样才能正确加载我的JSON var在2环境?

如何debugging失败的ssh端口转发

我正在尝试将SSH隧道用于文本编辑器集成。 首先连接到networking的命令: $ ssh -v -R *:52693:localhost:52693 primary_gate_server 第二个shell命令连接到特定的服务器: $ ssh -vvv -t -R *:52693:localhost:52693 specific_server 尝试从networking中检查telnet的结果: [person@specific_server ~]$ telnet localhost 52693 debug3: receive packet: type 90 debug1: client_input_channel_open: ctype forwarded-tcpip rchan 4 win 2097152 max 32768 debug1: client_request_forwarded_tcpip: listen port 52693, originator 127.0.0.1 port 46557 debug2: fd 9 setting O_NONBLOCK debug2: fd 9 setting […]

使用ldap进行SSH身份validation

我在FreeBSD11上。 我在我的系统上安装openldap24-server。 我想通过openldap进行身份validation。 我的意思是,当一个客户端ssh到服务器通过ldap检查身份validation,如果它不是在user.ldif然后从UNIX检查authority.But当我想从客户机ssh服务器想要获得系统密码和ldap密码,所以只有在server和ldif文件中定义的用户才可以login。 这是我的尝试: #/etc/pam.d/sshd # auth auth sufficient pam_opie.so no_warn no_fake_prompts auth requisite pam_opieaccess.so no_warn allow_local auth sufficient pam_unix.so no_warn try_first_pass auth sufficient pam_ldap.so no_warn try_first_pass # account account required pam_nologin.so account required pam_login_access.so account sufficient pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user account sufficient pam_unix.so # session session optional pam_ldap.so session required pam_permit.so # password […]

突然无法使用ec2-user SSH进入AWS Linux实例

今天突然间,我无法通过使用ec2-user作为用户名来SSH进入我的AWS linux实例。 我昨天能够做到。 我已经find了这个,发现所有东西都到位了,安全组,钥匙等 得到这个错误。 login as: ec2-user Server refused our key [email protected]'s password: 由于这是根用户。 我如何恢复访问?

Redis的主/从不能绑定127.0.0.1与哨兵?

希望设置主/从对和一些哨兵节点的redis。 由于驱动程序(例如,生菜/ ioredis)从前哨节点获得当前主节点,而前哨节点返回ip,这意味着主/从节点不能绑定到127.0.0.1,并且必须公开一个公共端口(例如6379),对 ? 在这种情况下,build议将客户端与主/从机之间的连接进行encryption的方式是什么? (例如,在我的testing设置中,我使用autossh通过本地端口连接到独立实例)。