学习笔记供以后参考复习
SSH的英文全称是Secure SHell。通过使用SSH,可以把所有传输的数据进行加密,这样数据就比较安全了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”(ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据)
*ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对
下面我用CentOS 5.8做的实验机器A(192.168.1.100),B(192.168.1.200)。现想A通过ssh免密码登录到B。
1.在A机下生成公钥/私钥对。
[root@station100 ~]# ssh-keygen -t dsa ---创建密钥
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): Enter
Enter passphrase (empty for no passphrase): ---密码短语
Enter same passphrase again: Enter
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:
c8:6e:38:bf:7f:a3:e9:32:c2:64:3e:fc:b7:d8:4d:8a [email protected]
它在/home/root下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
2.把A机下的id_rsa.pub复制到B机下
[root@station100 ~]# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
15
The authenticity of host '192.168.100.200 (192.168.100.200)' can't be established.
RSA key fingerprint is c0:d1:9f:67:66:cf:5a:7f:b4:21:53:c8:8b:1a:c9:95.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.100.200' (RSA) to the list of known hosts.
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@station100 ~]#
4.A机登录B机。
[root@station100 ~]# ssh 192.168.100.200
Last login: Tue Jun 5 23:48:05 2012 from 192.168.100.100
[root@station200 ~]#
5、想让A,B机无密码互登录,那B机以上面同样的方式配置即可
建立了ssh我们可以用一些基本操作:
copy 本地的档案到远程的机器上
[root@station100 ~]# scp -p /etc/yum.conf [email protected]:/home
yum.conf 100% 379 0.4KB/s 00:00
[root@station100 ~]#
会将本地的 /etc/yum.conf 这个档案 copy 到 192.168.100.200:/home目录下。
copy远程机器上的档案到本地来
[root@station100 ~]# scp -p [email protected]:/home/sql.txt /opt
sql.txt 100% 2816 2.8KB/s 00:00
[root@station100 ~]#
小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
**目前一般使用SSH比较流行,使用puttyy_ssh客户端工具可以实现远程登录管理;
一般很少用telnet因为telnet传递的全是明文方式,没有经过加密.安全性不高.
现在也有很多服务器不允许telnet登录了,只允许SSH登录.为了使服务器安全,看了一些文档,自己实验下面方法还是很好的,使用denyhosts以防止SSH被暴力破解一、检查安装要求
首选检查Sshd是否支持 Tcpwrap,只有支持Tcpwrap才可以安装Denyhost
# ldd /usr/sbin/sshd |grep wrap
libwrap.so.0 => /usr/lib/libwrap.so.0 (0×00864000) //出现此信息时表示支持
再检查 Python的版本,Python2.3以上版本可以直接安装
# python -V
Python 2.4.3
本文出自 “奔跑吧.少年” 博客,转载请与作者联系!