SSH入侵网友案例:http://phenixikki.blog.51cto.com/7572938/1546669
SSH是Secure Shell
Protocol的简写,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。
ssh服务与telnet服务进行对比:
01. ssh服务可以加密数据,telnet服务不可以加密数据
02. ssh服务使用端口号22,telnet服务使用端口号23
03. ssh服务默认可以通过root进行登录管理,telnet服务不可以通过root进行远程登录管理
SSH服务主要提供两个服务功能:
01. 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务;
02. 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务(vsftp,proftp)。
1.1 ssh服务部署过程:
yum install -y openssh-server openssh-clients
yum install -y openssh*
telnet服务部署过程:
第一个历程:下载安装软件
yum install -y telnet-server telnet
第二个历程:编写xinetd目录中telnet配置文件
cat /etc/xinetd.d/telnet
disable = no
第三个历程:启动xinetd服务,使telnet服务也一起运行
/etc/init.d/xinetd start
telnet 10.0.0.31
04. ssh部署过程软件说明
rpm -ql openssh-server
/etc/rc.d/init.d/sshd 启动脚本文件
/etc/ssh/sshd_config sshd服务配置文件
/usr/sbin/sshd 启动sshd服务进程命令
rpm -ql openssh-clients
/etc/ssh/ssh_config ssh客户端配置文件
/usr/bin/scp 远程复制命令(全量同步命令)
/usr/bin/sftp 实现文件远程传输命令
/usr/bin/slogin 远程登录连接命令
/usr/bin/ssh
/usr/bin/ssh-copy-id 分发公钥密令
1.2 ssh服务连接通讯过程
a客户端向服务端发送连接请求
b 服务端接收到连接请求,向客户端进行确认,是否想和我连接
ssh 10.0.0.41
The authenticity of host '10.0.0.41 (10.0.0.41)' can't be established.
RSA key fingerprint is 79:b8:2b:fe:a8:61:b9:04:a4:53:96:2b:95:94:90:21.
Are you sure you want to continue connecting (yes/no)?
说明:以上信息为ssh连接认证信息
c 客户端进行确认,客户端需要输入登录密码信息
d 服务端确认密码无误,会将自己的公钥(锁头)信息发给客户端
e 客户端收到服务端的公钥(锁头)信息进行保存
将公钥信息保存在/root/.ssh/known_hosts文件中
f 客户端输入密码登录成功
06. ssh服务登录认证方法
a 基于密码的登录认证
b 基于秘钥的登录认证(管理主机 )
07. ssh基于秘钥部署过程
第一历程:创建秘钥对(m01管理服务器上)
ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
70:33:fc:0d:5c:d7:c1:ae:7e:76:bb:14:5a:6d:99:7e root@m01
The key's randomart image is:
+--[ DSA 1024]----+
| . oo.|
| . . . . ..|
| . = o . |
| o + o .+|
| S . . .=o|
| .+..|
| .. oE|
| ..oo|
| oo+|
+-----------------+
第二历程:将公钥传输给被管理端
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
oldboy@172.16.1.31
The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
RSA key fingerprint is 79:b8:2b:fe:a8:61:b9:04:a4:53:96:2b:95:94:90:21.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.31' (RSA) to the list of known hosts.
root@172.16.1.31's password:
Now try logging into the machine, with "ssh '172.16.1.31'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
手动 传送 如果那玩意不好使。。。。
01. 将秘钥对中公钥文件远程传输到被管理主机
scp -rp /root/.ssh/id_dsa.pub
172.16.1.31:/root/.ssh
02. 在远程主机目录中,修改公钥文件名称
mv id_dsa.pub authorized_keys
chmod 600 authorized_keys
03. 在被管理主机ssh服务配置文件中,会进行加载识别authorized_keys
49 #AuthorizedKeysFile .ssh/authorized_keys
第三个历程:进行基于秘钥登录测试
ssh 10.0.0.31 uptime
编写批量管理脚本
cat piliang.sh
#!/bin/bash
cmd=$1
for ip in 31 41
do
echo === this host is 172.16.1.$ip ===
ssh 172.16.1.$ip $cmd
echo === end ===
echo ""
done
ssh服务端配置文件信息
UseDNS no
GSSAPI 关闭 影响ssh连接数度
配置文件修改内容 /etc/ssh/sshd.config
Port 52113 --- 修改端口信息参数
ListenAddress 10.0.0.61 --- 设置监听地址提高网站安全性
说明:监听地址只能配置为本地网卡上拥有地址