同样是作为远程工具,SSH优点是基于成熟的公钥加密体系,所以传输的数据会进行加密,保证数据在传输的时候,不被篡改及泄露,从而提高了系统的安全性。
一般的linux操作系统中都有默认安装,或者安装时选择安装。
#rpm –qa |grep ssh 可用此命令查看安装了那个版本
输入ps –ef|grep ssh 如果只有看到ssh-agent,那么说明ssh-server还没有启动,需要如下命令来启动#/etc/init.d/ssh start
配置文件:/etc/ssh/sshd_config
修改禁止root用户直接登录
将PermitRootLoginPermitRootLogin参数"yes"修改为"no"
设置基于密钥登录方式
将#AuthorizedKeysFile .ssh/authorized_keys的#注释去掉,用于设置用户公钥文件存储位置,系统默认位置在用户目录下的.ssh/authorized_keys(其实就是生成的公钥文件)
取消密码验证方式
#PasswordAuthentication yes 的#去掉,并将"yes"改成"no"
SSH登录方式有密码登录和密钥登录,这里详细介绍一下密钥登录。
服务器每天有不计其数针对SSH的密码猜解,虽然加了密码错误三次后禁止IP的denyhosts模块设置,但是实际应用仍然不是很完美,索性将服务器认证方式换成密钥认证了,就是不能再用密码登录,除非有密钥。
这里说两种密钥生成的方法,一种是命令行生成,一种是用工具来生成(如securecrt)
1 命令行生成
假设我们为root用户生成KEY,在root下执行下面的命令:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): //密钥保存的路径
Created directory '/root/.ssh'. //注意:.ssh目录为隐藏目录
Enter passphrase (empty for no passphrase): //输入密钥密码,可不设置,设了就是密钥加密码的登录方式
Enter same passphrase again:
Your identification has been saved in /home/forever/.ssh/id_rsa. //私钥密码保存径
Your public key has been saved in /home/forever/.ssh/id_rsa.pub. //公钥密码保存路径
The key fingerprint is:
f1:80:a6:95:5d:43:1b:96:21:e2:f1:8c:7b:ca:95:e8 forever@bjf 密码指纹
设置后在/root/.ssh/下会生成一个公钥文件跟一个私钥文件
2 secureCRT生成
选择RSA密钥类型
通行短语即密钥密钥,可不填,注释就是备注下你是谁
选择OpenSSH密钥格式,点击完成即可生成私钥公钥文件
密钥生成后,需在服务端与客户端做设置
服务端:
把公钥文件的内容复制到/root/.ssh/authorized_keys
或重命名mv id.rsa.pub authorized_keys都行
客户端:
然后把私有密钥文件下载到本机,用secureCRT连接会话,选择密钥登录,并选择其私有密钥文件,用root用户即可登录,若设置了密钥密码,就还需要输入密码才能登录。