当我们要远程到其他主机上面时就需要使用ssh服务了。
我们就来安装一下sshd服务以及ssh命令的使用方法。
服务安装:
需要安装OpenSSH 四个安装包:
安装包:
openssh-5.3p1-114.el6_7.x86_64:包含OpenSSH服务器及客户端需要的核心文件
openssh-clients-5.3p1-114.el6_7.x86_64:OpenSSH客户端软件包
openssh-server-5.3p1-114.el6_7.x86_64:OpenSSH服务器软件包
openssh-askpass-5.3p1-114.el6_7.x86_64:支持对话框窗口的显示,是一个基于X 系统的密码
openssh-clients是作为客户端必须安装的包,openssh-server是作为服务端必须安装的包。
实验环境:
ip:192.168.1.63 作为服务端
ip:192.168.1.64 作为客户端
我们可以查看服务器是否安装openssh包。
[[email protected] ~]# yum install openssh openssh-clients openssh-server -y
[[email protected] ~]# /etc/init.d/sshd start
[[email protected] ~]# chkconfig sshd on
[[email protected] ~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
安装完成后我们查看是否安装
[[email protected] ~]# rpm -qa |grep openssh
openssh-5.3p1-94.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
查看安装的路径:
[[email protected] ~]# rpm -ql openssh
/etc/ssh #主安装目录
/etc/ssh/moduli
/usr/bin/ssh-keygen
/usr/libexec/openssh
/usr/libexec/openssh/ssh-keysign
.......
[[email protected] ~]# ll /etc/ssh/ #查看一下主安装目录下的文件
total 156
-rw-------. 1 root root 125811 Nov 23 2013 moduli
-rw-r--r--. 1 root root 2047 Nov 23 2013 ssh_config #客户端的配置文件
-rw-------. 1 root root 3879 Nov 23 2013 sshd_config #服务端的配置文件
-rw-------. 1 root root 672 Mar 19 06:36 ssh_host_dsa_key
-rw-r--r--. 1 root root 590 Mar 19 06:36 ssh_host_dsa_key.pub
-rw-------. 1 root root 963 Mar 19 06:36 ssh_host_key
-rw-r--r--. 1 root root 627 Mar 19 06:36 ssh_host_key.pub
-rw-------. 1 root root 1675 Mar 19 06:36 ssh_host_rsa_key
-rw-r--r--. 1 root root 382 Mar 19 06:36 ssh_host_rsa_key.pub
此处不对配置文件做详细描述了,如果大家对配置文件有兴趣的话可以一块探讨一下。
此处在服务端做如下操作,在客户端也做如下操作。(在客户端上安装完成之后就可以远程了)
我们从客户端上远程服务端:
[[email protected] ~]# ssh 192.168.1.63 此时输入密码后就可以远程到服务器上了
[email protected]‘s password:
Last login: Sun Mar 19 20:59:21 2017 from 192.168.1.105
[[email protected] ~]#
此处我们来测试一下,如果服务器端没有安装openssh-server包的时候是否可以被远程呢。
[[email protected] ~]# rpm -e openssh-server 卸载了服务器端的openssh-server包
[[email protected] ~]# rpm -qa |grep openssh 查看没有了server包
openssh-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
现在在客户端上ssh
[[email protected] ~]# ssh 192.168.1.63
ssh: connect to host 192.168.1.63 port 22: Connection refused
在服务器端安装openssh-server包
[[email protected] ~]# rpm -qa |grep openssh
openssh-5.3p1-94.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
此时在来远程:
[[email protected] ~]# ssh 192.168.1.63
[email protected]‘s password:
Last login: Sun Mar 19 21:21:58 2017 from 192.168.1.105
[[email protected] ~]#
。
接下来讲一下双机互信,免秘钥登录。
[[email protected] ~]# ssh-keygen
在本地生成了两个文件
[[email protected] .ssh]# ls
id_rsa id_rsa.pub
在本地生成了两个文件:
此时生成了私钥和公钥,只需要把公钥传到客户机上就可以了。
[[email protected] .ssh]# ssh-copy-id -i 192.168.1.63
此时在去远程,就可以免秘钥登录了。若要回复秘钥登录的话把传到目标端的文件删除了就可以了。
[[email protected] ~]# ssh 192.168.1.63
Last login: Sun Mar 19 21:23:27 2017 from 192.168.1.64
[[email protected] ~]#
在目标端删除公钥
[[email protected] .ssh]# pwd
/root/.ssh
[[email protected] .ssh]# rm -rf authorized_keys
在去远程,此时就需要秘钥了。