linux 系统的ssh服务

ssh服务由服务端软件Openssh和客户端(常见的有ssh,SecureCRT,putty,xshell)组成,ssh服务默认使用22端口提供服务,它有两个不兼容的ssh协议版本,分别是1.x和2.x

下面我们看下服务端上的ssh相关软件

[root@greymouster ~]# rpm -qa openssh
openssh-5.3p1-104.el6.i686
[root@greymouster ~]# rpm -qa |grep openssh
openssh-askpass-5.3p1-104.el6.i686
openssh-clients-5.3p1-104.el6.i686
openssh-server-5.3p1-104.el6.i686
openssh-5.3p1-104.el6.i686
[root@greymouster ~]# rpm -qa openssh openssl
openssl-1.0.1e-30.el6.i686
openssh-5.3p1-104.el6.i686
[root@greymouster ~]# ps -ef |grep ssh
root      1483     1  0 12:48 ?        00:00:00 /usr/sbin/sshd
root      6234  1483  0 20:42 ?        00:00:00 sshd: root@pts/0 
root      6461  6237  0 21:50 pts/0    00:00:00 grep ssh

ssh客户端包含ssh程序以及scp(远程拷贝)、slogin(远程登录)、sftp(安全FTP文件传输)等应用程序

Openssh是ssh服务端的软件之一,可同时支持ssh1和ssh2协议,可以在配置文件中使用protocol指令指定只支持其中一种或两种都支持,默认情况下centos5.x系统默认配置的是仅支持ssh2协议

[root@greymouster ~]# less /etc/ssh/sshd_config
# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2

 查看ssh的端口

[root@greymouster ~]# netstat -lntup|grep ssh
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1526/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1526/sshd 

linux客户端通过ssh连接

[root@greymouster ~]# ssh -p22 root@192.168.1.199
[root@greymouster ~]# ssh -p22 root@192.168.1.199  /user/bin/free 命令(全路径)  到其他机器上执行命令(不会切换到机器上)
The authenticity of host '[192.168.1.199]:60222 ([192.168.1.199]:22)' can't be established.
RSA key fingerprint is d2:ad:69:ef:5e:55:43:c2:2d:c7:cc:fd:79:cd:af:c2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.199]:22' (RSA) to the list of known hosts.
reverse mapping checking getaddrinfo for 69.169.37.106.static.bjtelecom.net [192.168.1.199] failed - POSSIBLE BREAK-IN ATTEMPT!
root@192.168.1.199's password: 
Last login: Tue Jan  3 21:48:32 2017 from 1.180.212.133

当第一次连接的时候,本地会产生一个密钥文件 ~/.ssh/known_hosts

ssh客户端附带的远程拷贝scp命令

scp的基本语法使用:scp -secure copy

推:PUSH

scp -P22 -r -p /temp/data  root@192.168.1.199:/tmp

拉:PULL

scp -P22 -rp root@192.168.1.169:/tmp/data /opt/

[root@greymouster tmp]# cat /tmp/a.text
 1111
 1111
 1111
[root@greymouster tmp]# scp -P22 /tmp/a.text root@192.168.1.199:/opt
把当前机器的 /tmp/a.text 文件拷贝到192.168.1.199 /opt 目录下
The authenticity of host '192.168.1.199 (192.168.1.199)' can't be established. RSA key fingerprint is 32:0a:c0:7e:2a:a3:e2:dd:56:81:ca:d1:65:ba:a0:0b. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.199' (RSA) to the list of known hosts. root@192.168.1.199's password: a.text 100% 15 0.0KB/s 00:00 [root@greymouster tmp]#
[root@greymouster tmp]# scp -P22 root@192.168.1.199:/opt/b.text /tmp/
把192.168.1.199上的/opt/b.text文件拷贝到本机器的 /tmp/目录下
root@192.168.1.199's password: b.text 100% 4 0.0KB/s 00:00 [root@greymouster tmp]# ls /tmp

 scp 为远程拷贝文件或目录的命令

   -P(大写) 端口

   -r  表示拷贝目录

   -p  表示在拷贝前后保持文件或目录属性 

   注:scp是全量拷贝,效率不高       rsync 是增量拷贝

linux sftp客户端连接sftp服务器

[root@greymouster tmp]# sftp -oPort=22 root@192.168.1.199
Connecting to 192.168.1.199...
root@192.168.1.199's password: 
sftp> ls -l
-rw-------    1 root     root         1399 Dec  6 05:35 anaconda-ks.cfg
-rw-r--r--    1 root     root        44227 Dec  6 05:35 install.log
-rw-r--r--    1 root     root        10033 Dec  6 05:33 install.log.syslog
sftp> put /tmp/a.text   将/tmp/a.text上传到192.168.1.199 的家目录
Uploading /tmp/a.text to /root/a.text /tmp/a.text 100% 15 0.0KB/s 00:00 sftp> ls -l -rw-r--r-- 1 root root 15 Jan 11 01:04 a.text -rw------- 1 root root 1399 Dec 6 05:35 anaconda-ks.cfg -rw-r--r-- 1 root root 44227 Dec 6 05:35 install.log -rw-r--r-- 1 root root 10033 Dec 6 05:33 install.log.syslog sftp> get install.log 将192.168.1.199 的家目录install.log 下载到本机
sftp> put /tmp/a.text /ceshi/ 上传到指定目录下
sftp> get a.sh /home 下载到指定目录下

windows客户端连接sftp的方法  

点击SecureCRT 文件-->连接sftp标签

sftp> put "C:a.txt" 
正在把 a.txt 上传到 /root/a.txt
  100% 3 字节      3 字节/s 00:00:00     
sftp>

  sftp> get /root/a.txt
  正在从 /root/a.txt 下载 a.txt
  100% 3 字节 3 字节/s 00:00:00
  sftp>

过滤注释查看配置文件

[root@greymouster home]# egrep -v "^#|^$" /etc/ssh/sshd_config

  

  

更改ssh配置

[root@greymouster ~]# vi /etc/ssh/sshd_config

# sshd_config(5) for more information.


# The strategy used for options in the default sshd_c
onfig shipped with
# OpenSSH is to specify options with their default va
lue where
# possible, but leave them commented.  Uncommented op
tions change a
# default value.

#Port 22  #ssh连接默认端口22
#PermitRootLogin no # root用户是否禁止远程登录
#PermitEmptyPasswords no #禁止空密码登录
#UseDNS no    #不使用DNS
#GSSAPIAuthentication no #让ssh连接更快

修改配置文件后要重启ssh服务

[root@greymouster ~]# /etc/init.d/sshd restart
停止 sshd:                                                [确定]
正在启动 sshd:                                            [确定]

扫描的软件安装  

[root@greymouster ~]# yum install nmap -y 

[root@greymouster ~]# nmap 192.168.1.199 -p1-65535

Starting Nmap 5.51 ( http://nmap.org ) at 2017-01-11 00:08 CST
Nmap scan report for 192.168.1.199
Host is up (0.000011s latency).
Not shown: 65531 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
3306/tcp open mysql
54573/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds

禁止某个ip

[root@greymouster ~]# iptables -A INPUT ! -s 10.0.0.8 -j DROP 

原文地址:https://www.cnblogs.com/chenchenphp/p/6262035.html