精华内容
下载资源
问答
  • 跳板机

    2019-09-20 18:48:05
    通常所有的ssh连接都是通过跳板机来完成,以便于对ssh连接进行验证和管理。跳板机有哪些作用? 1.jenkins 部署在192.168.1.163服务器打包项目成jar包 2.通过ssh免密登录 跳板机 3.将jar包cp到不停的生产环境节点...

    通常所有的ssh连接都是通过跳板机来完成,以便于对ssh连接进行验证和管理。跳板机有哪些作用?

    1.jenkins 部署在192.168.1.163服务器打包项目成jar包

    2.通过ssh免密登录 跳板机

    3.将jar包cp到不停的生产环境节点上

    4.并启动服务器

    5.每个服务停留一段时间等上个服务启动啦, 在启动下个服务

    1.将jar发布到docker 私服上

    2.其他节点从私服拉去docker 镜像

    3.并启动就是k8s k8s 会根据系统内存 选择行启动那个服务

     

    ssh免密登录生成公钥

    ssh-keygen -t rsa

     

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.168.39

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.168.171

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.199.154

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.149.48

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.174.94

    ssh-copy-id -i ~/.ssh/id_rsa.pub 106.14.169.213

     

     

    转载于:https://www.cnblogs.com/ywsheng/p/11455567.html

    展开全文
  • 跳板机出于安全等因素的考虑,我们一般不会把所有服务器都设置成可 SSH 直连,而是会通过一台机器作为跳板机跳板机就相当于大门,你想要连接其他服务器的时候,必须要先穿过大门。先通过 SSH 登录到跳板机,再从...

    跳板机

    出于安全等因素的考虑,我们一般不会把所有服务器都设置成可 SSH 直连,而是会通过一台机器作为跳板机,跳板机就相当于大门,你想要连接其他服务器的时候,必须要先穿过大门。先通过 SSH 登录到跳板机,再从跳板机登录到目标服务器。

    假设

    假设在某个机房中,我们用机器 A 来代表目标服务器,该服务器不能 SSH 直连,只能通过跳板机连接,用机器 B 来代表跳板机,我们是可以 SSH 直连跳板机的。

    我们先把自己电脑上的 SSH 的 public key 拷贝到跳板机以及目标服务器的 .ssh/authorized_keys 文件里,这样我们理论上可以无密码登录了。

    我们尝试:

    ssh -u username@B

    然后再从跳板机登录到目标服务器

    ssh -o "PasswordAuthentication no" username@A

    参数 -o "PasswordAuthentication no" 表示不使用密码登录

    但是结果是

    Permission denied(publickey,password)

    这是因为 SSH 的 key 登录是要 public key 和 private key 成对存在的,虽然 public key 已经拷贝到了目标机器,但是当我们已经登录到跳板机上即机器 B 上时会向机器 A 也进行 SSH 登录,而跳板机上并没有我们自己机器的 private key。

    可以如果我们把自己电脑的 private key 复制到跳板机上的话,那其他登录到跳板机上的人就可以拿到我的 private key 了,这是不安全的。

    这个时候我们需要通过 SSH 的 agent forwarding 来解决。

    解决方法

    回到我们自己的机器上,进行命令

    eval $(ssh-agent)

    ssh-add

    登录到跳板机

    ssh -A username@B

    -A 参数表示开启 agent forwarding

    从跳板机登录到目标机器

    ssh username@A

    这样就可以从跳板机登录目标机器了,原因就是我们开启了 agent forwarding。

    数据流向

    当我们在跳板机上 SSH 登录目标机器时,目标机器会要求跳板机用对应的 SSH 的 private key 做认证,但是跳板机没有我们自己电脑的 private key,但是又因为我们从自己的电脑 SSH 登录到跳板机的时候启用了 agent forwarding,所以跳板机会把认证请求转发给我们自己的电脑。我们自己的电脑在收到这个请求的时候,就会在 shh-agent 进程进行认证,又因为我们已经通过 ssh-add 命令将我们的 private key 加到了 ssh-agent 中,所以认证会成功。最后我们机器把认证结果传回给跳板机,跳板机再把结果转回给目标机器,这样就完成了在跳板机没有我们的 SSH 的 private key 的情况下,还是能够成功登录目标机器。

    另一种方法(简写)

    回到我们自己的机器上,执行命令

    ssh -J username@B username@A

    一条命令就可以直接登录到目标机器。

    参数 -J 是用来指定跳板机的,SSH 会帮我们先登录到跳板机,然后再登录目标机器。

    参考

    人类身份验证 - SegmentFaultsegmentfault.com
    展开全文
  • Windows怎么登陆跳板机

    万次阅读 2021-01-10 20:27:25
    Windows怎么登陆跳板机 · Windows键 + R 输入 mstsc 然后输入跳板机的ip接着输入正确的账号和密码就ok了

    Windows怎么登陆跳板机
    ·

    Windows键 + R 输入 mstsc 
    
    然后输入跳板机的ip接着输入正确的账号和密码就ok了
    
    展开全文
  • shell跳板机

    2018-09-09 20:29:12
    在Linux系统中,用shell脚本写的跳板机,实现对人员登录服务器的控制
  • 运维人员管理服务器基本上都是先统一登录到跳板机上,然后再由跳板机登录到服务器上进行操作。跳板机会对用户进行身份认证、账户管理、授权控制及安全审计等。在实际工作中,我们一般会使用开源组件来部署跳板机,...
    e39695cab486357649d1c1a76ef90ef6.png

    运维人员管理服务器基本上都是先统一登录到跳板机上,然后再由跳板机登录到服务器上进行操作。跳板机会对用户进行身份认证、账户管理、授权控制及安全审计等。

    在实际工作中,我们一般会使用开源组件来部署跳板机,但是今天通过介绍下使用自建跳板机管理Linux服务器的过程,来了解Linux服务器不光可以只跑服务,如果运用得当,也可以作为我们日常使用的管理工具。

    跳板机工作方式

    1.用户先ssh登录到跳板机;

    2.在跳板机上,通过ssh登录到目标服务器;

    以上两步需要输入两遍账户,第一遍登录跳板机时输入,第二遍在登录目标服务器时输入。

    注意:

    所有的目标服务器需要通过防火墙或tcp wrapper只允许跳板机ssh,其他默认禁止。

    77d0f31b08ad4fd9002b70eff4ea5c47.png

    跳板机功能

    1.跳板机只提供ssh、ls等基本命令,禁止scp、sftp、管道等以防数据传输到本地,但是可以自行添加;

    2.跳板机将其登录用户锁定在特定的目录下,防止用户浏览服务器数据;

    3.磁盘限额,设置用户的空间,防止用户回传数据,保证跳板机只可用跳转;

    4.目标服务器端操作日志审计;

    跳板机实现思路

    1.磁盘限额及锁定用户目录

    (1)磁盘限额可以限制用户传输数据大小,因此磁盘限额必须是针对独立的适合的额定大小的新磁盘分区,而不是根目录或其他,否则配置磁盘限额没有效果;

    (2)ssh的chroot功能:"ChrootDirectory"定义了用户通过认证以后的chroot目录(此目录及其所有子目录的属主必须是root,且这些目录只有root帐号可以进行写操作,其他任何组和帐号都不可写);chroot以后,sshd会将用户的工作目录转到chroot目录中用户自己的主目录。如果ChrootDirectory定义的目录下没有相应的/home/username目录,则会直接转到chroot的/目录下。

    我们利用ssh的chroot及独立的磁盘分区,可以将用户限制在独立分区下,防止用户切换到其他目录操作。

    2.基础命令

    默认情况下的chroot目录是没有命令的,需要拷贝有限基础命令到相应的目录下,来实现不同命令的开放。

    3.操作日志审计

    使用logger及rsyslog,将每台服务器上的每个用户执行的命令、执行时间、登录时间、主机ip、当前切换用户等信息保存到本地文件并实时传输至日志服务器进行异地备份。

    dc7c39251428ed6c4c4896f89195cd6c.png

    跳板机实现

    一、chroot环境

    1.建立chroot目录中用户主目录

    mkdir -p /var/chroot/home/testchown -R test.test /var/chroot/home/testchmod 700 /var/chroot/home/test

    2.创建用户

    useradd -d /var/chroot/home/test testpasswd test

    3.chroot环境配置

    chroot环境至少需要一个shell(例如sh,bash)和一些必要的系统设备文件(例如/dev/null,/dev/zero),如果要允许用户执行一些命令,那么还要准备相应的命令可执行文件和命令依赖的库文件。

    mkdir -p /var/chrootcd /var/chrootmkdir {bin,dev,lib64,etc,home}mknod dev/null c 1 3mknod dev/zero c 1 5#ssh命令需要,如缺少会报告:PRNG is not seededmknod dev/random c 1 8mknod dev/urandom c 1 9#ssh命令需要,如缺少会报告:Host key verification failedmknod dev/tty c 5 0#修改/var/chroot及其子目录的属主,并修改权限chown -R root.root /var/chrootchmod -R 755 /var/chroot#允许用户写这些设备文件,不可写会有些命令报错chmod 0666 dev/{null,zero,tty}#复制/etc/passwd和/etc/group文件到/var/chroot/etc中,并删除用户自己和root以外的所有帐号。如果没有这两个文件,用登录以后会报“I have no name!”cp -p /etc/passwd  /var/chroot/etc/cp -p /etc/group  /var/chroot/etc/cat /var/chroot/etc/grouproot:x:0:test:x:516:cat /var/chroot/etc/passwd root:x:0:0:root:/root:/bin/bashtest:x:516:516::/home/test:/bin/bash#执行完毕后,test目录需重新授权chown -R test.test /var/chroot/home/testchmod 700 /var/chroot/home/test

    4.配置ssh

    vim /etc/ssh/sshd_config#在最后添加如下行,否则会报错Match User testChrootDirectory /var/chroot#重启sshservice sshd restart

    重启ssh后,ssh仍会登录不成功。因为用户登陆后必须有一个可用的shell,因此我们需要拷贝基础命令/bin/bash,还有其他命令如ls、mkdir等。

    二、拷贝基础命令

    1.基础命令

     #通过一下方式查看基础命令所用的库文件 ldd /bin/ls | awk '{ print $3 }' | grep "/lib" | sort | uniq/lib64/libacl.so.1/lib64/libattr.so.1/lib64/libcap.so.2/lib64/libc.so.6/lib64/libdl.so.2/lib64/libpcre.so.1/lib64/libpthread.so.0/lib64/libselinux.so.1

    通过上述方式查询,我们可以将相关基础命令拷贝到用户目录下。

    2.拷贝基础命令

    此处拷贝bash、ls、cp、mkdir、rm、ssh、id等基础命令

    #执行拷贝命令脚本#!/bin/bash#comment:用于ssh登陆chroot后,给用户添加命令 # 要允许执行的文件列表 cmdlist="/bin/bash /usr/bin/ls /usr/bin/cp /usr/bin/mkdir /usr/bin/mv /usr/bin/rm /usr/bin/rmdir /usr/bin/ssh /usr/bin/id" # chroot路径 chroot_path="/var/chroot" # 判断依赖的库文件 lib_1=`ldd $cmdlist | awk '{ print $1 }' | grep "/lib" | sort | uniq` lib_2=`ldd $cmdlist | awk '{ print $3 }' | grep "/lib" | sort | uniq` # 复制命令文件 for i in $cmdlist do   if [ ! -d `dirname ${chroot_path}$i` ];then        mkdir -p `dirname ${chroot_path}$i`   fi   cp -a $i ${chroot_path}$i && echo "$i done" done # 复制依赖的库文件(因为是i386,所以是lib,如果是x86_64,则是lib64,) for j in $lib_1 do   if [ ! -d `dirname ${chroot_path}$j` ];then        mkdir -p `dirname ${chroot_path}$j`   fi   cp -f $j ${chroot_path}$j && echo "$j done" done for k in $lib_2 do   if [ ! -d `dirname ${chroot_path}$k` ];then        mkdir -p `dirname ${chroot_path}$k`   fi   cp -f $k ${chroot_path}$k && echo "$k done" done

    拷贝完命令后,我们就可以登录了。如下:

    ssh test@10.16.2.100test@110.16.2.100's password: Last login: Mon Mar 16 15:04:53 2020 from 10.16.2.102-bash-4.2$ ls#没有ll命令-bash-4.2$ ll-bash: ll: command not found-bash-4.2$ ssh root@10.16.2.133No user exists for uid 1005

    此时ssh命令却无法使用,报这个错意味着系统无法通过用户数据库(可能的类型有 /etcp/passwd, /etc/group,/etc/shadow,/etc/gshadow)校验用户名是否正确。通常的解决方法是复制对应的文件到chroot目录中,将/lib64/libnss_* 等文件复制到chroot目录下的对应目录。

    解决方法:

    cp /lib64/libnss_* /var/chroot/lib64

    另外通过以上我们看到test用户登陆后默认为”bash-4.2$”,这是由于环境配置文件导致,我们可以通过以下更改:

    cp /etc/bashrc /var/chroot/etc/#复制其他用户的.bashrc 和 .bash_profilecp /home/xxx/.bashrc /var/chroot/home/test/cp /home/xxx/.bash_profile /var/chroot/home/test/
    ec7474dd060afc0f619367e45a188b4e.png

    三、操作日志审计

    1.配置PROMP_COMMAND

    vim /etc/bashrc readonly PROMPT_COMMAND='logger -p local3.notice -t bash "$(ifconfig | grep -E "eth|em|ens" -A 1 | grep "10.16" | grep -oP "(?<=inet )[d.]+")  $(who am i |awk "{print $1" "$2" "$3" "$4" "$5}") [`pwd`] currentuser=$(whoami) command=$(history 1 | { read x cmd; echo "$cmd"; })"'source /etc/bashrc

    其中:

    #使我们自定义的设备,用于rsyslog调用;local3.notice #每行打印的信息打印的tag;bash #获取服务器的ipifconfig | grep -E "eth|em|ens" -A 1 | grep "10.16" | grep -oP "(?<=inet )[d.]+"#获取我们当前用户的登录信息who am i |awk "{print $1" "$2" "$3" "$4" "$5}"#列出当前所在的目录pwd#用于获取当前切换的执行命令的用户,例如我们从test 用户 sudo -i,执行命令的用户为root,但是登录的用户test,方便我们区分;whoami#用户执行的命令command

    注意:

    1.在/etc/bashrc或/etc/profile中添加环境变量,将应用于所有用户;

    2.如果将PROMPT_COMMAND导出到用户工作区,那么对于有经验的用户就可以做赋值操作 export PROMPT_COMMAND="",这将导致记录功能当前session端不可用,所以PROMPT_COMMAND必须设置成只读的属性,readonly PROMPT_COMMAND;

    2.配置rsyslog客户端

    记录操作日志到本地文件

    vim /etc/rsyslog.conf#添加如下行#添加local3.none*.info;mail.none;authpriv.none;cron.none;local3.none                /var/log/messages#通过local3保存到本地的文件local3.notice /var/log/audit.log#远程日志服务器,可用于同步备份#local3.notice @10.16.99.1#重启service rsyslog restart

    其中:

    1.local3.notice 是在logger中定义的设备,rsyslog调用并将打印信息输出至指定文件;

    2.添加local3.none是避免日志写入/var/log/messages;

    3.配置轮储日志

    vim /etc/logrotate.d/rsyslog/var/log/audit.log{    daily    rotate 4    missingok    notifempty    nocompress    create    dateext    sharedscripts    postrotate        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true    endscript}#强制轮转logrotate -vf /etc/logrotate.d/rsyslog#查看ls /var/log|grep auditaudit.log  audit.log-20200316 vim /var/log/audit.logMar 16 16:13:11 test100 bash: 10.16.2.100  root pts/0 2020-03-16 14:23 (10.16.2.102) [/var/chroot/home] currentuser=root command=logrotate -vf /etc/logrotate.d/rsyslogMar 16 16:13:42 test100 bash: 10.16.2.100  root pts/0 2020-03-16 14:23 (10.16.2.102) [/var/chroot/home] currentuser=root command=vim /etc/logrotate.d/rsyslogMar 17 07:25:33 test100 bash: 10.16.2.100  root pts/0 2020-03-17 07:25 (10.16.2.102) [/root] currentuser=root command=vim /etc/logrotate.d/rsyslogMar 17 07:25:34 test100 bash: 10.16.2.100  root pts/0 2020-03-17 07:25 (10.16.2.102) [/root] currentuser=root command=lsMar 17 07:25:34 test100 bash: 10.16.2.100  root pts/0 2020-03-17 07:25 (10.16.2.102) [/root] currentuser=root command=ls

    如果我们审计日志需要异地备份,可以设置rsyslog远程日志服务器即可,在此不多做介绍。

    总结

    从上述部署过程中我们可以看到,整个过程非常繁琐而且为了适配各种版本操作系统还需要修改脚本,明显已经不能作为当前运维工具的实现方式了。但是我们可以通过本次部署了解到Linux系统中的一些小操作,如chroot、磁盘限额、操作审计、日志轮储等,或许会在我们以后的运维道路上用到。

    750087337b1d04fe1d480e1dbca2d498.png
    展开全文
  • 关于跳板机/堡垒机的介绍:跳板机的定义:跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作:跳板机缺点:没有实现对运维人员操作行为的控制和...
  • 一、跳板机服务作用介绍 1、有效管理用户权限信息 2、有效记录用户登录情况 3、有效记录用户操作行为 二、跳板机服务架构原理 三、跳板机服务安装过程 第一步:安装跳板机依赖软件yum -y install git python-pip...
  • 关于跳板机/堡垒机的介绍:跳板机的定义:跳板机就是一台服务器,开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作:跳板机缺点:没有实现对运维人员操作行为的控制和...
  • 一、了解跳板机 跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。 跳板机是网络中容易受到侵害的主机,所以跳板机也必须是自身...
  • shell跳板机(触发信号后屏蔽信号)1,ssh key验证2,实现传统的远程连接菜单选择脚本3,利用linux信号防止用户在跳板机上操作4,用户登录后即调用脚本试验拓扑:3台机器node10------------node11--------------node...
  • 运维人员管理服务器基本上都是先统一登录到跳板机上,然后再由跳板机登录到服务器上进行操作。跳板机会对用户进行身份认证、账户管理、授权控制及安全审计等。在实际工作中,我们一般会使用开源组件来部署跳板机,...
  • 堡垒机与跳板机

    2020-06-15 14:47:50
    跳板机 跳板机属于内控堡垒机范畴,是一种用于单点登陆的主机应用系统。2000年左右,高端行业用户为了对运维人员的远程登录进集中管理,会在机房里部署跳板机跳板机就是一台服务器,维护人员在维护过程中,首先要...
  • 数据库的服务器在内网,如果想连接,必须得先ssh登陆到跳板机,然后在跳板机ssh到达数据库所在服务器,进而操作数据库。遗憾的是,如果跳板机和数据库所在服务器如果都没有像Navicat这种数据库客户端连接工具,那么...
  • 跳板机和堡垒机

    2019-09-25 21:22:59
    跳板机 1.跳板机简介 跳板机就是一台服务器,运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作; 在腾讯,跳板机是开发者登录到服务器的唯一途径,开发者必须先登录跳板机,...
  • 概述利用跳板机上的nc做前向代理随后编辑windows上的ssh config用vscode实现远程调试,和穿越跳板机的文件传输确定连接方式利用nc 首先登录跳板机,输入"nc"如果跳板机有nc就可以用这种方式登录利用ssh -W 这种方式...
  • ansible跳板机

    2020-10-20 09:42:14
    首先我先讲讲这个过程,由于从来没接触过跳板机,昨天按照网上的方法设置了一下午和一晚上都没有成功,后来今天早上醒来一想,是不是把ansible主机的公钥也发送到目标机是不是也就OK了?刚才试了一下,果然是啊。。...
  • 数据库在塔内,需要通过跳板机链接2.需要在表里面mock批量数据用来测试使用工具:putty,jmeter1.下载putty,自己正常使用的已打包上传windows64位:https://download.csdn.net/download/qq_38915739/12332044a.配置...
  • 数据库的服务器在内网,如果想连接,必须得先ssh登陆到跳板机,然后在跳板机ssh到达数据库所在服务器,进而操作数据库。遗憾的是,如果跳板机和数据库所在服务器如果都没有像Navicat这种数据库客户端连接工具,那么...
  • 做笔记用,担心原作者哪天删了,权当留个备份———————分割线 以下正文———————搭建基于ssh的跳板机,服务器至少2台及以上一、在所有服务器上创建相同的跳板机用户[root@dev ~]$ useradd test[root@dev ~...
  • 1.IP配置###############跳板机IP:192.168.10.128Server1IP:192.168.10.133Server2IP:192.168.10.132Server3IP:192.168.10.1312.创建用户###############[root@fengxiaoli ~]# useradd jump要在所有机器上操作。...
  • luna 跳板机插件

    2018-08-06 20:27:45
    jumpserver 跳板机插件,luna安装包,需要的伙伴自行下载
  • 为您提供Jumpserver 跳板机系统下载,Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能。基于ssh协议来管理,客户端无需安装agent。 支持常见系统:1、redhat centos2、debian3、suse...
  • 一、了解跳板机 跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一。 跳板机是网络中容易受到侵害的主机,所以跳板机也必须是自身保护...
  • 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法。 1. 问题 第一、很多大公司的服务器...在跳板机中,通常只能执行几个少数命令(如SSH),而其他命令是不允许执行的,那么怎样才能实现这个功能呢...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,976
精华内容 1,190
关键字:

跳板机