ssh

SSH远程执行脚本tomcat未启动

风流意气都作罢 提交于 2020-03-18 08:04:00
SSH远程执行脚本tomcat未启动 背景: 就是为了写一个重启tomcat的脚本,让jenkins编译、打包、发布时调用。在本地写好重启tomcat的脚本后,本地执行脚本没有问题,但在远程服务器上SSH免密登录执行后。 发现可以把TOMCAT杀死,但 tomcat却起不来 。这个问题困扰了我一天。终于解决了,决定写篇博文与大家分享。 把我遇到的怪异现象分享给大家: 1 脚本执行了吗?sh -x 查看脚本执行过程,确实执行了啊,也没有报错。但到目标服务器去看却没有java进程,也没有相应的端口。邪门了,到底是什么原因呢? 2 看日志。在远程执行脚本的时候就把日志打开了,tail -f 发现没有一丁点的日志输出。 3 有人说是环境变量的问题。个人感觉不是啊。我在本地可以执行脚本说明不是环境变量的问题。 原因: 有人说:这个脚本远程运行的话, 远程会话结束以后会把这个子进程干掉 。 有人说:就如同,你在本地xshell执行脚本 脚本还在跑的阶段你关闭xshell ,你怎么让脚本不停止而继续运行呢? 有人说: 你这个进程过去 ansible执行完了就没了 。我的ansible命令是这样的 ansible abcd -u root -m shell -a "sh -x /data/scripts/start_tomcat.sh" 我自己做了一个测试

SSH经典的面试题

余生长醉 提交于 2020-03-17 23:22:12
题目1:Hibernate工作原理及为什么要用? 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc + sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 题目2: 什么是Hibernate延迟加载? 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。 题目3

Git 生成 && 配置SSH key,配置多个SSH key

拟墨画扇 提交于 2020-03-17 20:47:56
一、Git 生成 && 配置SSH key 步骤: 1.配置姓名和邮箱 git config --global user.name "xb12369" git config --global user.email "1234@qq.com" 2.生成密钥,一路回车, ssh-keygen -t rsa -C "1234@qq.com" 生成密钥成功,如下图 3.添加SSH key到GitHub上 打开id_rsa.pub,把id_rsa.pub文件的内容即密钥放到github上。 GitHub -> Settings -> SSH and GPG keys,点击 New SHH key,把id_rsa.pub文件的内拷贝到内容区,为添加的SSH key 添加一个名称,点击Add SSH kye。添加成功 4.测试是否连接上GitHub ssh -T git@github.com //如果是gitlab ,就使用下面的语句 ssh -T git@gitlab.com 二、生成多个ssh key,配置Gitlab 和 Github 配置多个git账号:如gitlab和github,那个就配置两个账号:一个global全局的账号,和配置一个local 当前项目范围的账号 步骤 1.配置姓名和邮箱 ssh -T git@github.com //如果是gitlab ,就使用下面的语句

SecureCRT 转发 X11 图形化GUI

只愿长相守 提交于 2020-03-17 15:30:00
1 双击 运行 Xming 软件 软件下载连接 Xming 2 securecrt 打开 X11 转发 3 确认 ssh配置文件开启 X11 转发 [root@Cobbler-ysw ysw]# cat /etc/ssh/sshd_config | grep X11Forwarding X11Forwarding yes 4 运行图形化 GUI 程序 例如 system-config-kickstart 来源: https://www.cnblogs.com/qingyi520/p/12510627.html

代码托管之 ssh+svn sourceforge

二次信任 提交于 2020-03-17 14:17:46
某厂面试归来,发现自己落伍了!>>> git虽然火,但是我跟我的伙伴用起来还是不习惯,换个靠谱的代码托管库。 狠幸运地找到sourceforge 上代码托管,不过采用https方式还是很不稳定,只用用ssh方式,稳定很多,下面介绍过程。 需要东西: sourceforge 账号 https://sourceforge.net/account/ 注册个账号 putty.zip 一个telnet,ssh链接客户端 http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip 带svn插件的eclipse 使用账号创建一个project 那么就会获得一个超链接,并且还可以选择各种代码托管模式,这里使用我们最熟悉的 svn托管。 ok,这样就会拿到代码托管的地址 next ,使用putty 创建ssh key 根据这里的教程 https://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20keys 一段描述跟着做 打开putty.zip 下的 PUTTYGEN.EXE ,generate 创建一个sshKey,选择 SSH2 DSA ,生成ppk文件,并且把生成的key copy出来 进入 https://sourceforge.net/account/ssh 地址update一下。

puttygen convert ppk file to xshell key file

邮差的信 提交于 2020-03-17 14:17:33
某厂面试归来,发现自己落伍了!>>> 文章来自我的博客: https://www.lwxshow.com/tutorials/puttygen-convert-ppk-file-to-xshell-key-file.html Putty的ppk文件转成Xshell的key文件 Failed to import the user key解决方案 导入putty生成的ppk文件到Xshell,出现“Failed to import the user key!”错误。 1.打开puttygen.exe 2.选择“Conversions”->“Import key”,选择要导入的ppk文件。 3.Conversions-> Export OpenSSH key 现在导出的这个文件就是Xshell登录需要的文件! 2、打开Xshell 2.1File->New Session 2.2 “Connection”->“Authentication”,Method选择“Public Key”, User Name填写要登录的用户名, ->Browse按钮,Import选择puttygen导出的文件 Passphrase:如果证书设置了密码就要填写密码 使用Putty登录转成使用Xshell登录了。 来源: oschina 链接: https://my.oschina.net/u/347825

内网渗透代理和转发

早过忘川 提交于 2020-03-17 13:05:17
原文 by CH_vksec 最近尝试了一些内网端口的转发和内网穿透,现在一起总结一下。 0x01 正向和反向代理 正向代理中,proxy 和 client 同属一个 LAN,对 server 透明; 反向代理中,proxy 和 server 同属一个 LAN,对 client 透明。 实际上 proxy 在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把前者那种代理方式叫做正向代理,后者叫做反向代理。 正向代理 (Forward Proxy) Lhost--》proxy--》Rhost Lhost 为了访问到 Rhost,向 proxy 发送了一个请求并且指定目标是 Rhost,然后 proxy 向 Rhost 转交请求并将获得的内容返回给 Lhost,简单来说正向代理就是 proxy 代替了我们去访问 Rhost。 反向代理(reverse proxy) Lhost<--->proxy<--->firewall<--->Rhost 和正向代理相反(废话),Lhost 只向 proxy 发送普通的请求,具体让他转到哪里,proxy 自己判断,然后将返回的数据递交回来,这样的好处就是在某些防火墙只允许 proxy 数据进出的时候可以有效的进行穿透 简单区分 正向代理代理的是客户端,反向代理代理的是服务端,正向代理是我们自己 (Lhost) 戴套

apt-get 更新 配置apt文件 (unbantu)

主宰稳场 提交于 2020-03-17 11:02:34
一、开机unbantu,输入普通用户名和密码,之后进入root模式; sudo su //进入root模式。按回车再次输入密码,进入root模式。 二、备份sources.list文件 cd /etc/ //进入etc文件夹 cd apt //进入apt文件 ll //查看文件夹的内容 cp sources.list /etc/apt/sources.list_backup //备份sources.list文件 到该文件夹下,名称为sources.list_backup ll //查看是否成功备份 三、修改sources.list文件的内容 (以下代码均是在上述目录下执行) vim sources.list //用vim编辑器打开文件    如上图,我们只需要把粉红色的网址改一下即可,将所有红色网址里的".unbantu"前面的“hk.archive”或者是别的(具体记不清了)替换成“old-releases” (因为old-releases是下载源) 修改完之后 按Esc键,输入:wq! //保存并退出 四、检验 apt-get update //更新update的资源包 更新完成 五、安装ssh apt-get install openssh-server //安装ssh 完成即可 六、启动ssh服务 /etc/init.d/ssh start //开启服务//ps -e

答应我别学SSH了!

妖精的绣舞 提交于 2020-03-17 10:50:14
SSH框架其实是三兄弟的组合 两个S一个H。 第一个“S”就是所谓的:Struts. Struts叫流行服务器,通俗的来讲就是完成MVC模型中的C功能,用于接收请求,并且用来处理,这就是struts。 第二个"S"就是所谓的:spring. SSH使用的是spring中最核心的容器:loC容器,利用它可以很方便的管理我们代码中的各种各样的对象。因为loc的出现就是为了减小对象耦和,讲话对象的管理。 第三个要素"H"就是所谓的:Hibernate. 它其实是一个对象关系的映射框架或者说是一个ORM层框架。他的目的其实很简单,就是数据库操作。如果你用JDBC进行数据库的增删改查会很麻烦。他的目的就是为了让数据库操作就像操作对象一样简单。 Struts 在那个Java后端框架并不那么繁荣的年代发挥了巨大的作用。可现如今,struts它早已不是那个当年非常火热的服务器应用框架了。 第一个原因:因为struts他很多做法和写作都耦合性较强。并不够优雅,而且太过繁琐。 第二个原因:struts性能一直不是很好,他对内存耗损比较大。这在以前那个流量稀疏的年代还能撑上一段时间。但是现如今网络流量很大,性能其实撑不住了。 第三个原因:struts框架之前爆出很多高危漏洞。安全有风险,所以导致现在的struts其实已经很没落了。 spring Spring一直在大力发展。尤其是后来推出了spring

xShell5中Windows ping不通Linux服务器

吃可爱长大的小学妹 提交于 2020-03-17 09:03:21
问题描述: 使用xShell5远程连接数据库时报出以下错误: 问题产生原因: Ubuntu上没有安装openssh-server服务(Ubuntu默认是没有安装的) 查看ssh服务是否启动: sudo ps -e |grep ssh 若有sshd,说明ssh服务已经启动 如果没有启动 输入 sudo service ssh start ssh服务就会启动 配置sshd_config文件 sudo vi /etc/ssh/sshd_config 将PermitRootLogin prohibit-password 后的参数 改为 PermitRootLogin yes 若不修改配置文件,则会在连接xShell时出现以下错误: Ubuntu虚拟机与链接的Windows主机不在同一个网段,导致ping失败 windows的ip地址: ubuntu的ip地址: 问题解决: Ubuntu安装openssh-server sudo apt-get update sudo apt-get install openssh-server 设置 Vmware Network Adapter VMnet1 的ip地址和子网掩码和网关信息 在虚拟机中任务栏中找到 Edit下的 Virtual Network Editor, 查看VMnet1 VMnet8的信息 给VMnet1 VMnet8 配置静态ip