【OpenSSH简述】
OpenSSH 是一组用于安全地访问远程计算机的连接工具。它可以作为rlogin、rsh rcp以及telnet的直接替代品使用。更进一步,其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发。OpenSSH 对所有的传输进行加密,从而有效地阻止了窃听、连接劫持,以及其他网络级的攻击。OpenSSH 由 OpenBSD project 维护。SSH默认使用的是TCP的22号端口,也是基于C/S架构,SSH有两个版本v1与v2(优先使用)。
sshv2基于双方主机的协商选择使用最安全的MAC方式 ,其有如下特点:
1、加密机制及MAC机制由双方协商选定;
2、基于DH实现密钥交换,基于RSA或DSA实现身份认证;
3、客户端通过检查服务器端的主机密钥来判断是否能够继续通信;
【SSH工作流程】
(1)OpenSSH使用C/S架构:
(2)服务端工具(S):
sshd
(3)客户端工具(C):ssh命令、putty、xshell、securecrt、sshshellclient;
【SSH配置文件】
[1]
:/etc/ssh/ssh_config (默认)
[2]:/etc/sysconfig/sshd (脚本配置文件)
[3]: systemctl start sshd (重新启动服务)
选项
“
Host
”
只对能够匹配后面字串的计算机有效。
“*”
表示所有的计算机
#############################################################################################
#
sshd_config(5)
for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22 #修改默认监听的端口;
port 7777
#把sshd的监听端口改成7777;
#AddressFamily any #监听的地址家族,指定是监听在IPV4上还是IPV6上,any表示所有;
#ListenAddress 0.0.0.0 #指定监听的地址 (0.0.0.0表示本机的所有地址);
#ListenAddress ::
# 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
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key #使用shhv1用到的主机密钥;
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024 #密钥长度;
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m #登录宽限期;
#PermitRootLogin yes #是否允许管理员直接登录;
#StrictModes yes
#MaxAuthTries 6 #最大密码输入错误次数;
#MaxSessions 10 #最大会话个数;
#########################################################################################
【拷贝数据】
[1] csp SRC DEST (
scp是secure copy,进行远程拷贝文件的命令
)
[2]将本机文件复制到远程服务器上
# scp /path/to/somefile… USERNAME@HOST:/path/to/somewhere
[3]将远程服务器上的文件复制到本机
# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere
scp参数:
-r: 复制目录时使用(实现递归复制),scp默认不能复制目录;
-p: 保持源文件的元数据信息,包括mode和timestamp
-q: 静默模式,复制过程不显示状态信息;
-p PORT: 指定ssh协议监听的端口(远程主机)。
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 root@192.168.1.59:/usr/local/sin.sh /home/allen
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。