首页 > 代码库 > SSH远程访问

SSH远程访问

SSH是(security shell)的简称,是一种安全协议。通过ssh数据传输前会对该数据进行加密,然后再进行传输。

SSH有两种登陆验证方式:密码验证、秘钥对验证

密码验证:通过服务器的本地登陆用户的登录名和密码进行验证。从客户机的角度看服务器可以会被冒充,从服务器的角度看密码会被第三方穷举(暴力破解),因此通过这种发是会存在一定的安全隐患。

SSH秘钥对验证:通过客户机生成一对公钥和私钥。客户机首先会将自己的公钥传给服务器,服务器接受并保存秘钥,客户机之后变会通过私钥进行加密传给服务器、服务器通过公钥进行解密。

在linux中ssh是通过openssh-server提供服务的,客户端需要安装openssh-client软件包。这两个软件包在linux系统安装的时候就已经默认安装了

1.查看系统是否安装了该软件

[root@linux-01 ~]# rpm -qa openssh-server
openssh-server-5.3p1-84.1.el6.i686
[root@linux-01 ~]# rpm -qa openssh-clients
openssh-clients-5.3p1-84.1.el6.i686

如果没有安装可以通过系统光盘进行安装。

2.查看ssh的配置文件

[root@linux-01 ~]# vi /etc/ssh/ssh_config
#   Port 22                    //ssh的端口号,默认为22
#   Protocol 2,1            //协议的类型,协议2比协议1的安全性更高
AuthorizedKeysFile    .ssh/authorized_keys    //如果配置文件中如果没有,可以添加。一般保持默

省略.........

3.通过客户端生成秘钥对,只对当前用户进行生成秘钥对。所以在生成秘钥对之前需要先切换到该用户。

[root@linux-03 ~]# useradd tom
[root@linux-03 ~]# echo "abc123" | passwd --stdin tom
更改用户 tom 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@linux-03 ~]# su - tom                                     //通过su进行切换用户
[tom@linux-03 ~]$ ssh-keygen -t rsa                      //生成用户秘钥
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tom/.ssh/id_rsa):            //提示秘钥保存的位置
Created directory ‘/home/tom/.ssh‘.
Enter passphrase (empty for no passphrase):                //数据调用的秘钥的短语
Enter same passphrase again:                                            //确认该短语
Your identification has been saved in /home/tom/.ssh/id_rsa.
Your public key has been saved in /home/tom/.ssh/id_rsa.pub.
The key fingerprint is:
cd:01:93:69:83:2f:25:a8:2c:ee:6a:68:95:e5:86:54 tom@linux-03
The key‘s randomart image is:
+--[ RSA 2048]----+
|     . .oo       |
|    .Eo *o       |
| . ..  = ..      |
|. o. .. .o .     |
|... =  .S o      |
| . + o           |
|o . .            |
|.+               |
|=                |
+-----------------+
4.查看所生成的秘钥,并通过scp命令将公钥传给对端的服务器。

[tom@linux-03 ~]$ ls -l /home/tom/.ssh/id_rsa*
-rw-------. 1 tom tom 1743 12月 23 18:10 /home/tom/.ssh/id_rsa
-rw-r--r--. 1 tom tom  394 12月 23 18:10 /home/tom/.ssh/id_rsa.pub
[tom@linux-03 ~]$ scp -r /home/tom/.ssh/id_rsa.pub root@20.0.0.2:/tmp   //通过将用户的通用传给服务器
root@20.0.0.2‘s password:
id_rsa.pub   

5.在服务器上面将公钥导到认证文件中

[root@linux-01 ~]# mkdir /home/liu/.ssh                //如果没有需要将创建该文件夹

[root@linux-01 ~]# cat /etc/ssh/sshd_config >> /home/liu/.ssh/authorized_keys   //将公钥导入到服务器的认证文件中。

6.客户集通过ssh访问服务器
[tom@linux-03 ~]$ ssh liu@20.0.0.2
liu@20.0.0.2‘s password:                        //输入的是调用短语,如果没有设置调用短语则可以直接进入
Last login: Wed Jul  2 18:52:08 2014 from 20.0.0.4

[liu@linux-01 ~]$

本文出自 “知识是智慧的火炬” 博客,转载请与作者联系!

SSH远程访问