实验环境:RHEL6.0
Port:22
1.大部分Linux系统默认已经安装
2.SSH服务都包括(SSH、sftp、scp、rsync及和其它服务的配合使用)
3.配置文件:
/etc/ssh/sshd_config 主配置文件
*********************sshd_config****************************
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
DenyUsers user1
****************************************************************
*对于/etc/ssh/sshd_config,一般采用默认配置即可
*如果想拒绝指定用户,需要自己手动添加DenyUsers username
*修改服务端口时,部分系统会出现问题,须自定义SELinux安全策略
如下:
#cat /var/log/audit/audit.log|grep AVC |grep ssh|audit2allow -m sshlocal > sshlocal.te
#grep sshd_t /var/log/audit/audit.log|audit2allow -M sshlocal
#semodule -i sshlocal.pp
******************************************************************
4.命令的使用方法
例:#ssh student@192.168.0.1
#ssh student@192.168.0.1 find / &> ~/find1.log #登陆主机,执行命令后离开
#ssh -f student@192.168.0.1 find / &> ~/find1.log #命令结果传回本机,并离开目标主机
#ssh -o StrictHostKeyChecking=no root@192.168.0.1 #主动确认并添加密钥,不在让用户输入yes或no,该记录在文件~/.ssh/known_hosts中。
#sftp student@192.168.0.1 (ftp服务)
#scp /etc/hosts* student@192.168.0.1:~
rsync同步备份,该备份属于增量备份
#rsync -av /etc /tmp
#rsync -av -e ssh root@192.168.0.1:/etc /tmp(将远程文件备份到本机/tmp下)
#rsync -av root@192.168.0.1::/etc /tmp
5.建立密钥登录机制
#ssh-keygen
#scp $HOME/.ssh/id_rsa.pub 192.168.0.2:~/.ssh/authorized_keys(导入目标主机)
******************************************************************************
如果在建立密钥时添加了密钥的密码,则需要使用shell代理,如下两步:
#ssh_agent $SHELL
#ssh_add
******************************************************************************
6.SSH配合任何服务示例
注:该命令在客户端使用,将5901端口的数据经过加密后从5911端口传送至192.168.0.2
#ssh -L 5911:127.0.0.1:5901 -N 192.168.0.2
注:sshd服务本身并不安全,只是该信息在Internet传递时是加密的,很安全。
转载于:https://blog.51cto.com/jiajunfeng/1107117