zoukankan      html  css  js  c++  java
  • SSH

    (1)ssh基本介绍

    1.ssh服务是加密协议,默认端口是22,协议版本是SSHv2,V1有漏洞
    2.服务端: ssh服务,sftp服务
    3.客户端: ssh命令,scp命令
    4.服务器端组件
    openssl:负责远程加密
    openssh:负责远程连接
    5.ssh服务认证类型
    基于口令的安全认证
    基于密钥的安全认证:客户端生成一对密钥,客户端把自己的公钥推送到需要访问的服务器端,客户端使用私钥加密数据,服务器使用公钥解密数据

    (2)ssh配置优化

    #vim /etc/ssh/sshd_config 
    Port 33222					//修改ssh的默认端口
    PermitRootLogin no			//root用户禁止登陆
    PermitEmptyPasswords no  	//禁止空密码登录
    UseDNS no					//不使用DNS,解决ssh登陆慢的问题
    GSSAPIAuthentication no		//解决ssh登陆慢的问题
    
    sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
    sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
    egrep -i "(usedns|gssapiauth)" /etc/ssh/sshd_config
    service sshd restart
    

    (3)ssh客户端命令

    1.ssh命令:远程登陆或执行命令

    -p			//指定端口,如果是默认22号端口,可以不加
    	ssh -p22 root@192.168.1.30				//远程登陆
    	ssh -p22 root@192.168.1.30 "ifconfig" 	//不登陆远程主机执行命令
    

    2.scp:传递文件

    选项:
    	-P			//指定端口
    	-r			//拷贝目录的时候,如果想递归需要使用-r
    	-p			//保持属性
    
    scp -P22 -r /etc/ root@192.9.191.31:/tmp
    
    例
    scp -P22 -r /etc/ root@192.9.191.31:/tmp		//把/etc目录拷贝到31主机的/tmp目录下,/etc目录也拷贝过去了
    scp -P22 -r /etc/* root@192.9.191.31:/tmp		//把etc目录下所有文件传递到31主机的/tmp目录下
    

    (4)分发密钥

    1.生成公钥和私钥

    ssh-keygen -t rsa 							//交互式生成公钥和私钥
    ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa 	//非交互式生成公钥和私钥
    

    2.传递公钥

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.9.191.31				//传递公钥
    ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22 root@192.9.191.31" 		//指定ssh端口传递公钥
    

    3.免输入密码执行命令和传递文件

    ssh root@192.9.191.31 "/sbin/ipadd a"				//执行命令
    scp -r /etc/* root@192.9.191.31:/tmp				//传递文件
    
  • 相关阅读:
    进程和线程
    进程通信、同步与调度
    文件和文件系统
    【nexys3】【verilog】小设计——拆弹游戏
    Qt4开发环境搭建(Qt4.8.7+mingw4.8.2+Qt Creator4.2.0)
    GPL和LGPL
    【rpi】使用putty远程连接rpi(ssh)
    mysql 命令 小结
    安装mysql zip 安装包 Navicat连接
    python虚拟环境 virtualenv工具
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9065302.html
Copyright © 2011-2022 走看看