ssh

Send commands to a remote ssh server from my website form

♀尐吖头ヾ 提交于 2020-03-14 18:45:05
问题 I want to create a website that users can fill a form, and then I send those parameters to a remote ssh server to issue a python script. Example, in my webpage, the form contains input text, para1, para2, para3, etc.. After the user clicks submit, it should be able to send a command to remote ssh server terminal "python para1, para2, para3,....." What kind of technique that I need to solve this problem?? Thank you. 回答1: You can create a Web application using Flask Framework and then use the

Ansible-Playbook之初始化服务器

狂风中的少年 提交于 2020-03-14 11:26:26
批量初始化服务器 初始化步骤 配置ssh密钥认证 远程配置主机名 控制远程主机互相添加HOSTS解析 配置远程主机的yum源以及一些软件 时间同步配置 关闭selinux/iptables 修改sshd配置 配置ssh密钥认证 在主控节点的 /etc/ansible/hosts 配置节点 $ vim /etc/ansible/hosts [new] 192.168.56.12 192.168.56.13 在控制节点配置到受控节点的ssh认证方式 # 主控节点执行 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa -N '' $ for host in 192.168.56.{11..12};do ssh-keyscan $host >> ~/.ssh/hnow_hosts 2> /dev/null sshpass -p '123456' ssh-copy-id root@$host &> /dev/null done 将上面的方案playbook化: --- - name: config ssh connection hosts: new gather_facts: false tasks: - name: configure ssh connection shell: | ssh-keyscan {{inventory_hostname}} >> ~/

Linux基础优化与安全归纳总结

感情迁移 提交于 2020-03-14 10:04:15
一名运维工程师在运维岗位上时间久了,就会发现 Linux 优化的重要性,同时会给运维工作带来很多的便利性。本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读 Linux 相关书籍及向同事、同行高手咨询,针对 Linux 系统的一些基本优化做了如下归纳总结,如有不足之处,还望大伙补充完善。 本文主要描述一些基本的系统优化知识点,并未涉及 Linux 深化优化,关于 Linux 的深化优化知识本人后期会更新。 第一点: Linux 的管理尽量不用 root 用户,利用 sudo 命令来控制普通用户对系统的管理 新建一个用户,使用 sudo 命令添加权限,详细操作步骤如下: ( 1 )添加新的用户: useradd 新的用户名 ( 2 )检查是否已成功添加: id 新的用户名 ( 3 )设置该用户的密码: echo 123321|passwd --stdin 新的用户名 接下来需将新的用户添加管理员权限,这个新的用户就相当于管理员 ( 4 )备份之前的权限文件: \cp /etc/sudoers{,.back} ( 5 )将新的用户添加管理员权限: echo " 新的用户名 ALL=(ALL) NOPASSWD: ALL " >> /etc/sudoers ( 6 )检查是否已成功添加: tail -1 /etc/sudoers ( 7 )配置生效: visudo -c

ansible运维自动化环境搭建

我的梦境 提交于 2020-03-14 08:29:58
ansible是开源工具,底层是用python写的 ansible也有web界面,可以直接鼠标点就可以,但是web界面收费 所以大部分企业不会用 web界面 Ansible : Ansible的核心程序 Host Lnventory : 记录了每一个由 Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等。可以通过file来加载,可以通过CMDB加载 Playbooks : YAML格式文件,多个任务定义在一个文件中,使用时可以统一调用,“剧本”用来定义那些主机需要调用那些模块来完成的功能. Core Modules : Ansible执行任何管理任务都不是由Ansible自己完成,而是由核心模块完成;Ansible管理主机之前,先调用core Modules中的模块,然后指明管理Host Lnventory中的主机,就可以完成管理主机。 Custom Modules : 自定义模块,完成 Ansible核心模块无法完成的功能,此模块支持任何语言编写。 Connection Plugins : 连接插件, Ansible和Host通信使用 Ansible的优点: Stupied Simple ,上手简单,学习曲线平滑 SSH by default ,安全,无需安装客户端 配置简单、功能强大、扩展性强 支持 API及自定义模块,可通过Python轻松扩展

git简易使用

笑着哭i 提交于 2020-03-14 08:13:12
使用Ubuntu下的git客户端 1 安装 sudo apt install git 2 配置个人信息 git config --global user.email "you@example.com" git config --global user.name "Your Name" 3 生成SSH公私钥 ssh-keygen -t rsa -C <your_email@example.com> 后面连续按Enter就可以了, 公私钥保存在/home/you/.ssh/id_rsa.pub, 4 在github https://github.com/settings/keys页面可以添加SSH公钥,拷贝全部内容id_rsa.pub 5 使用github一般先通过页面建立一个空的仓库,然后用 git clone ssh:xxx git add xxx git commit -m "xx" git push origin master/branch 6 也可以通过命令直接建立仓库 git remote add origin master 参考: http://www.bootcss.com/p/git-guide/ 来源: https://www.cnblogs.com/mingzhang/p/9884120.html

网络基础配置--开启SSH,关闭Telnet

笑着哭i 提交于 2020-03-14 03:49:55
1、Telnet和SSH对比 1.1、TELNET     使用Telnet这个用来访问远程计算机的TCP/IP协议以控制你的网络设备相当于在离开某个建筑时大喊你的用户名和口令。很快会有人进行监听,并且他们会利用你安全意识的缺乏。传统的网络服务程序如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。 1.2、SSH   SSH是替代Telnet和其他远程控制台管理应用程序的行业标准。SSH命令是加密的并以几种方式进行保密。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。   SSH1又分为1.3和1.5两个版本。SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA

Git安装及密钥的生成

醉酒当歌 提交于 2020-03-13 17:26:35
1.下载 Git 软件: http://msysgit.github.io/ 2.安装git软件(很简单)。安装成功后,在[开始]->[程序]->[git],下就会看见Git Bash和Git GUI,打开Git Bash,进入bash界面。 3.注册邮箱 在git bash界面输入如下内容即可完成邮箱的注册: $ git config --global user.name "user.name" (说明:双引号中需要你的用户名,这个可以随便输入,比如“ming.xiao”) $ git config --global user.email " yourmail@youremail.com.cn " (说明: 双引号中需要输入你的有效邮箱,比如 “qwert@126.com.cn ”) 4.查看是否存在ssh keys $ cd ~/.ssh 若出现“No such file or directory”,则表示需要创建一个ssh keys。 5.创建新的ssh keys $ssh-keygen -t rsa -C " qwert@126.com.cn " $指定目录: C:\MykeysForGit\(说明:若在此处不输入路径,而直接按回车,则ssh keys生成后存放的路径为C:\User\.ssh) $输入密码: 123456 $确认密码: 123456 如此即可在C:

SecureCRT连接SSH慢解决办法

我们两清 提交于 2020-03-13 13:08:53
1、在ssh服务端上更改配置文件: vi /etc/ssh/sshd_config 在文件最后添加: UseDNS no GSSAPIAuthentication no 2、重启SSHD服务 CentOS6:执行/etc/init.d/sshd restart CentOS7: systemctl restart sshd.service 来源: 51CTO 作者: sunandsmile 链接: https://blog.51cto.com/11711560/2477937

SSH的框架整合

£可爱£侵袭症+ 提交于 2020-03-13 12:44:01
struts 控制用的 hibernate 操作数据库的 spring 用解耦的 第一步:先创建一个wed项目 。 第二步:配置struts2 1.添加Struts2所需要的基本jar包到 lib目录下 包名如下图: 2.在web.xml 文件里添加struts的过滤器配置如下:《提示:struts2-2.3版本》 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ssh</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name>

python实现批量远程执行命令及批量上传下载文件

拟墨画扇 提交于 2020-03-13 11:15:23
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/1/22 23:18 # @Author : xuxuedong # @Site : # @File : sys.py # @Software: PyCharm import os, sys,platform #for linux # if platform.system() == "windows": # Base_DIR = '\\'.join(os.path.abspath(os.path.dirname(__file__)).split('\\')[:-1]) # print(Base_DIR) # else: # Base_DIR = '/'.join(os.path.abspath(os.path.dirname(__file__)).split('/')[:-1]) BASE_DIR =os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) print(BASE_DIR) sys.path.append(BASE_DIR) from salt.core import Handler if __name__ == '__main__': print