zoukankan      html  css  js  c++  java
  • 相关命令

    gpg

    	gpg---OpenPGP encryption and signing tool
    		gpg [options] [files]
    			-c, --symmetric  	仅使用对称加密
    			-e, --encrypt  	加密数据
    			-d, --decrypt  	解密数据
    			-s, --sign   	制作签名
    			--clearsign   	制作一个清晰文本签名 
    			--verify          	检查签名
    			-o, --output FILE   	写出到文件
    			--gen-key    	生成一个新的密钥对
    			-k, --list-keys  	列出密钥
    			--export 	导出密钥
    			--import 	导入或合并密钥
    			-a, --armor 	create ascii armored()output
    			-r, --recipient USER-ID  	为用户id加密
    			--delete-keys 	移除公钥
    			--delete-secret-keys 	移除私钥
    	来自包:
    		rpm  -q --whatprovides gpg
    			gnupg2-2.0.14-8.el6.x86_64
    	包内文件:
    		rpm -ql gnupg2
    	示例:
    		1.对称加密file 文件
    			在A主机上加密file
    				gpg -c file
    				ls file.gpg
    			在B主机上解密file
    				gpg -o file -d file.gpg
    		2.非对称(公钥)加密file文件
    			在hostB 主机上用公钥加密,在hostA 主机上解密。
    			在hostA 主机上生成公钥/私钥对
    				gpg --gen-key
    			在hostA 主机上查看公钥
    				gpg --list-keys
    			在hostA 主机上导出公钥到wang.pubkey
    				gpg -a --export -o wang.pubkey
    			从hostA 主机上复制公钥文件到需加密的B 主机上
    				scp wang.pubkey hostB:
    			在需加密数据的hostB 主机上生成公钥/私钥对
    				gpg --gen-key
    			在hostB 主机上导入公钥
    				gpg --import wang.pubkey
    				gpg --list-keys
    			用从hostA 主机导入的公钥,加密hostB 主机的文件file, 生成file.gpg
    				gpg -e -r wangxiaochun file
    				file file.gpg
    			复制加密文件到hostA 主机
    				scp fstab.gpg hostA:
    			在hostA 主机解密文件
    				gpg -d file.gpg
    				gpg -o file -d file.gpg
    			删除公钥和私钥
    				gpg --delete-keys wangxiaochun
    				gpg --delete-secret-keys wangxiaochun
    			
    

    openssl

    	openssl - OpenSSL command line tool(openssl命令行工具)
    		openssl 	command [ command_opts ] [ command_args ]
    		openssl 	[ list-standard-commands | list-message-digest-commands | list-cipher-commands | list-cipher-algorithms | list-message-digest-algorithms | list-public-key-algorithms]
    		openssl 	no-XXX [ arbitrary options ]:判断XXX命是否存在
    		openssl ?打开command列表
    	1)openssl  enc命令
    		对称加密
    		帮助:man enc
    		enc - symmetric(对称的)cipher(密码)routine(程序)
    			对称密码命令支持数据使用各种块(填充物)加密或解密。
    			openssl  enc 	 -ciphername 
    				[-in filename]:导入文件
    				[-out filename]:导出文件
    				[-pass arg]:传递密码源
    				[-e]:加密
    				[-d]:解密
    				[-a/-base64]:基于base64的加密
    				[-A]:有-a时,base64在一行上处理数据
    				[-k  password]:密码源于key
    				[-kfile filename] 
    				[-K/-iv key/IV]:key/lv 采用十六进制,是下个密码
    				[-S salt]:采用十六进制的salt,是下个密码
    				[-salt]:使用salt(随机)
    				[-nosalt]:不使用salt
    				[-z]:在加密或解密前进行压缩或解压缩文本
    				[-md]:用于从密码上创建key
    				[-p]:打印使用的key和IV
    				[-P]:打印使用的key和IV,且马上退出而不进行加密或解密
    				[-bufsize number]:为I/O设置buffer 尺寸
    		
    		加密:
    			openssl enc -e -des3 -a -salt -in testfile  -out testfile.cipher
    		解密:
    			openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile
    			
    	2)openssl dgst
    		单向加密
    		帮助:man dgst
    		dgst, md5, md4, md2, sha1, sha, mdc2, ripemd160 - message digests(信息摘要)(hash(data)=digest 摘要)
    			digist的功能是输出所支持文件或十六进制形式文件的摘要信息,同样可用于数字签名和核查
    			openssl dgst 	[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1]:	[file...]
    				[-c]:输出以冒号为分割符的两位数
    				[-d]:打印BIO的调试信息
    				[-hex]:采用16进制输出(默认输出)
    				[-binary]:采用二进制输出
    				[-out filename]:输出到文件或标准输出
    				[-sign filename]:在文件中使用私钥来签名
    				[-keyform arg]:指定key形式来签名
    				[-passin arg]:私钥源
    				[-verify filename]:使用文件中公钥核查签名
    				[-prverify filename]:使用文件中的私钥来核查签名
    				[-signature filename]:核查实际的签名
    				[-hmac key]:使用key来创建hashed MAC
    		
    		
    		openssl dgst -md5 [-hex 默认] /PATH/SOMEFILE
    		openssl dgst -md5 testfile
    		md5sum /PATH/TO/SOMEFIL
    		
    	3)openssl passwd
    		生成密码 
    		帮助:man sslpasswd
    			passwd - compute password hashes(计算密码散列)
    				用于计算工作状态下输入密码的散列或是列表的中密码的散列
    			openssl passwd 	[-crypt]:标准的Unix密码算法(默认)	[password]
    				[-1]:基于MD5的密码算法
    				[-apr1]:基于md5的密码算法,Apache不同
    				[-salt string]:使用所提供的salt
    				[-in file]:从文件中读取密码
    				[-stdin]:从标准输入中读取密码
    				[-noverify]:从终端读取密码时不进行检查
    				[-quiet]:不要警告
    				[-table]:表格格式输出
    				[--reverse]:转换表列
    			       
    			openssl passwd -1 -salt SALT( 最多8 位)
    			openssl passwd -1 –salt centos
    		
    		4)openssl rand
    			生成随机数
    			帮助:man sslrand
    			rand - generate pseudo-random bytes(生成伪随机码)
    				rand命令一旦种植了随机数生成器后就输出虚随机码位的数字
    				openssl rand 	[-out file]:写到文件	num
    					[-rand file(s)]:从文件中播种下PRNG
    					[-base64]:base64编码输出
    					[-hex]:十六进制编码输出
    			
    			openssl rand -base64|-hex NUM
    				NUM:表示字节数;-hex时,每个字符为十六进制,相当于4 位二进制,出现的字符数为NUM*2
    			
    		5)openssl rsautl
    			公钥加密(非对称加密)
    			帮助:man rsautl
    			rsautl - RSA utility(RSA功用)
    				rsautl 命令使用RSA算法用于签名,检测,加密和解密数据。
    				openssl rsautl 	[-in file]:输入文件
    					[-out file]:输出到文件
    					[-inkey file]:输入key
    					[-pubin]:输入是个RSA 公钥
    					[-certin]:输入是个含有RSA公钥的证书
    					[-sign]:签名输入数据,输出签名结果,要求有RSA私钥
    					[-verify]:核查输入数据和输出的恢复数据
    					[-encrypt]:使用RSA公钥加密输入数据
    					[-decrypt]:使用RSA私钥加密输入数据
    					[-pkcs] [-ssl] [-raw]
    					[-hexdump]:十六进制输出
    					[-asn1parse]:
    			
    		
    		6)openssl genrsa
    			生成私钥
    			帮助:man genrsa
    			genrsa - generate an RSA private key(产生RSA私钥)
    				genrsa 命令生成一个RSA私钥
    				openssl genrsa 	[-out filename]:输出到文件,若没指定则标准输出
    					[-passout arg]:输出文件密码源
    					[-des][-des3][-idea]:使用加密算法对产生的密钥进行加密
    					[-f4][-3]:使用公共说明,或65537或3,默认65537。
    					[-rand file(s)]:加载文件到随机数生成器中
    					[-engine id]:指定engine
    					[numbits]:指定私钥的bit位,默认位512,必须放到最后指定 
    			
    			示例:
    				生成私钥
    				openssl genrsa -out  /PATH/TO/PRIVATEKEY.FILE [numbits]
    				chmod +600  privatekey.file
    				or
    				(umask 077(用于修改权限); openssl genrsa –out test.key –des 2048)(括号用进行子进程,使得umask只影响子进程)
    				
    			
    		7)openssl rsa
    			从私钥中提取
    			帮助:man rsa
    			rsa - RSA key processing tool(RSA密钥处理工具)
    				rsa命令处理RSA密钥,可使密钥在各种格式下转换并且进行内容输出
    				openssl rsa 	[-inform PEM|NET|DER]:输入形式
    					[-outform PEM|NET|DER]:输出形式
    					[-in filename]:输入文件
    					[-passin arg]:输入文件密码源
    					[-out filename]:输出文件
    					[-passout arg]:输出文件密码源
    					[-sgckey]:使用IIS SGC 密钥a.形式
    					[-des][-des3][-idea][-seed]:加密形式
    					[-text]:采用text打印密钥
    					[-noout]:不打印出密钥
    					[-modulus]:打印RSA密钥模数
    					[-check]:检查密钥一致性
    					[-pubin]:默认是从文件读取私钥,使用这个选项就是读取公钥
    					[-pubout]:默认是输出私钥,使用这个选项就输出公钥
    					[-engine id]:指定engine ID
    			
    			示例:
    				从私钥中提取公钥
    					openssl rsa -in  private key file –pubout –out  publickey file
    					openssl rsa –in test.key –pubout –out test.key.pub
    				openssl rsa -in key.pem -text -noout
    				openssl rsa -in key.pem -outform DER -out keyout.der
    				openssl rsa -in key.pem -des3 -out keyout.pem
    				openssl rsa -in key.pem -out keyout.pem
    		
    		8)openssl req
    			证书申请
    			帮助:man req
    			req - PKCS#10 certificate request and certificate generating utility.(证书请求和证书产生功用)
    				自签名证书req命令主要是采用PKCS#10格式创建和处理证书请求。它可以为根CA创建自签名证书。
    				openssl req 	[-inform PEM|DER]:指定输入格式,默认为PEM格式
    					[-outform PEM|DER]:指定输出格式
    					[-in filename]:指定读取请求所需的文件。若未指定则使用标准输入
    					[-passin arg]:输入文件密码源
    					[-out filename]:证书输出到文件
    					[-passout arg]:输出文件密码源
    					[-text]:采用text格式打印出证书请求
    					[-pubkey]:输出公钥
    					[-noout]:阻止输出请求的加密译文
    					[-verify]:核查请求上的签名
    					[-modulus]:打印出包含在请求中的公钥模数值
    					[-new]:生成新证书签署请求
    					[-rand file(s)]:使用包含随机数的文件来产生随机数
    					[-newkey rsa:bits|alg:file]:创建一个新的证书请求和一个私钥
    					[-nodes]:
    					[-key filename]:生成请求是用到的私钥文件
    					[-keyform PEM|DER]:指定私钥文件的格式
    					[-keyout filename]:输出新创建的私钥到文件
    					[-keygen_engine id]:
    					[-[digest]]:指定签名请求时使用的message digest
    					[-config  filename]:指定可供选择的配置文件
    					[-subj arg]:
    					[-multivalue-rdn] 
    					[-x509]:专用于CA生成自签名证书
    					[-days n]:证书的有效期限,默认为30天
    					[-set_serial n]
    					[-asn1-kludge]
    					[-no-asn1-kludge]
    					[-newhdr]
    					[-extensions section]
    					[-reqexts section]
    					[-utf8]  
    					[-nameopt]
    					[-reqopt]
    					[-subject]
    					[-subj arg]
    					[-batch]:不使用交换模式
    					[-verbose]:输出详细操作信息
    					[-engine id]:
    			
    			示例:
    				openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out  /etc/pki/CA/cacert.pem
    				openssl req -new -key /etc/pki/tls/private/test.key  -days 365 -out /etc/pki/tls/test.csr
    				openssl req -new  -key  /etc/pki/CA/private/cakey.pem  -out  /etc/pki/tls/testsubca.csr
    				openssl req -in req.pem -text -verify -noout
    				openssl genrsa -out key.pem 1024
    				openssl req -new -key key.pem -out req.pem
    				openssl req -newkey rsa:1024 -keyout key.pem -out req.pem
    				openssl req -x509 -newkey rsa:1024 -keyout key.pem -out req.pem
    				
    				
    		9)openssl ca
    			帮助:man ca
    			ca - sample minimal CA application(CA应用)
    				ca命令是个最低等级的CA应用,
    				openssl ca 	[-verbose]
    					[-config filename]
    					[-name section]
    					[-gencrl]:基于index文件中信息,产生一个CRL
    					[-revoke file]:撤回证书文件
    					[-crl_reason reason]
    					[-crl_hold instruction]
    					[-crl_compromise time]
    					[-crl_CA_compromise time]
    					[-crldays days]
    					[-crlhours hours]
    					[-crlexts section]
    					[-startdate date]
    					[-enddate date]
    					[-days arg]
    					[-md arg]
    					[-policy arg]
    					[-keyfile arg]
    					[-key arg]
    					[-passin arg]
    					[-cert file]
    					[-selfsign]
    					[-in file]:输入PEM编码证书请求
    					[-out file]:输出证书
    					[-notext]
    					[-outdir dir]
    					[-infiles]
    					[-spkac file]
    					[-ss_cert file]
    					[-preserveDN]
    					[-noemailDN]
    					[-batch]
    					[-msie_hack]
    					[-extensions section]
    					[-extfile section]
    					[-engine id]
    					[-subj arg]
    					[-utf8]
    					[-multivalue-rdn]
    					[status serial]:根据编号码显示证书状态
    			
    			示例:
    				openssl ca -in req.pem -out newcert.pem
    				openssl ca -in req.pem -extensions v3_ca -out newcert.pem
    				openssl ca -gencrl -out crl.pem
    				openssl ca -infiles req1.pem req2.pem req3.pem
    				openssl ca -spkac spkac.txt
    			
    			文件:
    		        /usr/local/ssl/lib/openssl.cnf - master configuration file
    		        ./demoCA                       - main CA directory
    		        ./demoCA/cacert.pem            - CA certificate
    		        ./demoCA/private/cakey.pem     - CA private key
    		        ./demoCA/serial                - CA serial number file
    		        ./demoCA/serial.old            - CA serial number backup file
    		        ./demoCA/index.txt             - CA text database file
    		        ./demoCA/index.txt.old         - CA text database backup file
    		        ./demoCA/certs                 - certificate output file
    		        ./demoCA/.rnd                  - CA random seed information
    		
    		10)openssl crl
    			帮助:man crl
    			crl - CRL utility
    				crl命令采用DER或者PEM格式处理CRL文件
    				openssl crl 	[-inform PEM|DER]
    					[-outform PEM|DER]
    					[-text]:以text格式打印输出CRL
    					[-in filename]
    					[-out filename]
    					[-noout]:不输出加密版的CRL
    					[-hash]
    					[-issuer]
    					[-lastupdate]
    					[-nextupdate]
    					[-CAfile file]
    					[-CApath dir] 
    		
    			示例:
    				openssl crl -in crl.pem -outform DER -out crl.der
    				openssl crl -in crl.der -text -noout
    

    ssh

    	ssh - OpenSSH SSH client (remote login program)
    	ssh [user@]host [COMMAND]
    		ssh 	[-1246AaCfgKkMNnqsTtVvXxYy] 	[user@]hostname [command]
    			[-b bind_address] 
    			[-c cipher_spec] 
    			[-D  [bind_address:]port]
    			[-e escape_char]
    			[-F configfile]
    			[-I pkcs11]
    			[-i identity_file]
    			[-L   [bind_address:]port:host:hostport] 
    			[-l login_name]
    			[-m mac_spec]
    			[-O ctl_cmd]
    			[-o option]
    			[-p port]
    			[-R  [bind_address:]port:host:hostport] 
    			[-S ctl_path]
    			[-W host:port]
    			[-w local_tun[:remote_tun]
    	
    	ssh [-l user] [user@]host [COMMAND]
    		-p port :远程服务器监听的端口
    		-b: 指定连接的源IP
    		-v: 调试模式
    		-C:压缩方式
    		-X: 支持x11 转发
    		-Y:支持信任x11 转发
    			ForwardX11Trusted yes
    		-t: 强制伪tty 分配
    			ssh -t remoteserver1 ssh remoteserver2
    

    scp

    	scp — secure copy (remote file copy program)
    			scp 	[-12346BCpqrv]	[[user@]host1:]file1 ... [[user@]host2:]file2
    				[-c cipher]
    				[-F ssh_config]
    				[-i identity_file]
    				[-l limit]
    				[-o ssh_option]
    				[-P port]
    				[-S program]
    		scp [options] SRC... DEST/
    		scp [options] [user@]host : /sourcefile /destpath
    		scp [options] /sourcefile [user@]host:/destpath
    	
    	常用选项:
    		-C:  	压缩数据流
    		-r:  	递归复制
    		-p:  	保持原文件的属性信息
    		-q:  	静默模式
    		-P PORT:  	指明remote host 的监听的端口
    

    rsync

    	基于ssh 和rsh 服务实现高效率的远程系统之间复制文件
    	使用安全的shell 连接做为传输方式
    	比scp 更快,只复制不同的文件
    	rsync - a fast, versatile(通用的), remote and local   file-copying tool
    		Local:  
    			rsync [OPTION...] SRC... [DEST]
    		Access via remote shell:
    		     Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
    		     Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
    		Access via rsync daemon:
    		     Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
    		           rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
    		     Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
    		           rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
    		
    		rsync –av /etc server1:/tmp  复制目录和目录下文件
    		rsync –av /etc/ server1:/tmp  只复制目录下文件
    	选项:
    		-n  	模拟复制过程
    		-v  	显示详细过程
    		-r  	递归复制目录树
    		-p  	保留权限
    		-t  	保留时间戳
    		-g  	保留组信息
    		-o  	保留所有者信息
    		-l 	将软链接文件本身进行复制(默认)
    		-L  	将软链接文件指向的文件复制
    		-a  	存档,相当于–rlptgoD ,但不保留ACL (-A )和SELinux 属性(-X)
    

    sftp

    	交互式文件传输工具
    	用法和传统的ftp 工具相似
    	利用ssh服务实现安全的文件上传和下载
    	sftp — secure file transfer program
    		sftp 	[-1246aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher] [-D sftp_server_path] [-F ssh_config][-i identity_file] [-l limit] [-o ssh_option] [-P port] [-R num_requests] [-S program][-s subsystem | sftp_server] host
    		sftp 	[user@]host[:file ...]
    		sftp 	[user@]host[:dir[/]]
    		sftp 	-b batchfile [user@]host
    	使用ls cd mkdir rmdir pwd get put 等指令, 可用?或help获取帮助信息
    		sftp [user@]host
    		sftp> help
    

    Pssh、pslurp、pscp.pssh工具

    	/usr/bin/pnuke
    	/usr/bin/prsync
    	/usr/bin/pscp.pssh
    	/usr/bin/pslurp
    	/usr/bin/pssh
    	pssh — parallel ssh program
    		 pssh 	[-I] [-vAiIP][-h hosts_file] [-H [user@]host[:port]] [-l user] [-p par] [-o outdir] [-e errdir] [-t timeout][-O options] [-x args] [-X arg] command ...
    		pssh是一个python 编写可以在多台服务器上执行命令的工具,也可实现文件复制
    		pssh [OPTIONS] command [...]
    			--version :	查看版本
    			-h :	主机文件列表,内容格式”[user@]host[:port]”
    			-H :	主机字符串,内容格式”[user@]host[:port]”
    			-l :	登录使用的用户名
    			-p :	并发的线程数 【 可选 】
    			-o :	输出的文件目录 【 可选 】
    			-e :	错误输入文件 【 可选 】
    			-t :	TIMEOUT 超时时间设置,0 无限制 【 可选 】
    			-O :	SSH 的选项
    			-v :	详细模式
    			-A :	手动输入密码模式
    			-x :	额外的命令行参数使用空白符号,引号,反斜线处理
    			-X :	额外的命令行参数,单个参数模式,同-x
    			-i :	每个服务器内部处理信息输出
    			-P   :	打印出服务器返回信息
    		
    	pslurp:复制远程文件到本地
    		pslurp is a program for copying files in parallel from a number of hosts.
    	pscp.pssh:复制本地文件到远程主机
    		pscp.pssh is a program for copying files in parallel to a number of hosts
    	prsync:复制本地文件到远程主机
    		prsync is a program for copying files in parallel to a number of hosts.
    	pnuke:远程关闭进程
    		pnuke is a program for killing processes in parallel on a number of hosts
    		pslurp [OPTIONS] remote local
    			pslurp -h hosts.txt -L /tmp/outdir -l irb2  /home/irb2/foo.txt foo.txt
    		pscp.pssh [OPTIONS] local remote
    			pscp -h hosts.txt -l irb2 foo.txt /home/irb2/foo.txt
    		prsync [OPTIONS] local remote
    			prsync -r -h hosts.txt -l irb2 foo /home/irb2/foo
    		pnuke [OPTIONS] pattern
    			pnuke -h hosts.txt -l irb2 java
    
  • 相关阅读:
    装饰器
    函数对象与闭包
    名称空间与作用域
    函数的参数
    函数的基本使用
    ${}与#{}的区别
    thymeleaf之日期格式化
    template might not exist or might not be accessible by any of the configured Template Resolvers
    springboot使用@Scheduled之cron表达式详解
    自定义springboot项目启动图案
  • 原文地址:https://www.cnblogs.com/shenxm/p/8448677.html
Copyright © 2011-2022 走看看