本文共 2368 字,大约阅读时间需要 7 分钟。
sshd服务介绍
ssh协议:安全外壳协议。为 Secure Shell 的缩写。ssh为建立在应用层和传输层基础上的安全协议。
sshd服务使用ssh协议可以用来进行远程控制,或在计算机之间传送文件。openssh软件包,提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。
安装包:
openssh-7.4p1-11.el7.x86_64.rpm 包含openssh服务器及客户端需要的核心文件
openssh-server-7.4p1-11.el7.x86_64.rpm openssh 服务器软件包openssh-clients-7.4p1-11.el7.x86_64.rpm openssh客户端软件包查看一个软件包的作业
[root@apenglinux-001 Packages]# rpm -pqi openssh-server-7.4p1-11.el7.x86_64.rpm
查看关于openssh的软件包
[root@apenglinux-001 Packages]# rpm -qa|grep openssh
openssh常用配置文件
/etc/ssh/ssh_config 客户端配置文件/etc/ssh/sshd_config 服务器配置文件sshd服务启动与关闭
# systemctl start|stop|restart|status sshd
修改配置文件
实现远程登录:身份验证
ssh命令ssh [远程主机用户名]@[远程服务器主机名或ip地址][root@apenglinux-001 Packages]# ssh zhangsan@192.168.221.20 或 ssh -l zhangsan 192.168.221.20[root@apenglinux-001 Packages]# ls /root/.ssh/known_hosts /root/.ssh/known_hosts
配置文件/etc/ssh/sshd_config
注:参数前面有#,表示是默认值,当然#号表示注释
#Port 22Port 22Port 300#ListenAddress 0.0.0.0 本机上所有的ipv4地址都提供服务#ListenAddress :: 本机上所有的ipv6地址SyslogFacility AUTHPRIV 日志类型ssh默认日志存放位置 /etc/log/secure
vim /etc/rsyslog.conf
#LogLevel INFO 登录记录的等级 INFO级别以上#PermitRootLogin yes 允许root登录,设置成 no,表示不允许root登录#PasswordAuthentication yes 允许密码登录#PermitEmptyPasswords no 不允许空密码登录//当使用者连上ssh server之后,会出现输入密码的画面,在该画面中//在多久时间内没有成功连上ssh server就强迫断线。若无单位则默认为秒#LoginGraceTime 2m//登入后是否显示出一些信息。如上次登入的时间,地点等等,预设是yes//打印出/etc/motd这个文档的内容#PrintMotd yes 打印提示信息#PrintLastLog yes 上一次登录信息#UsePrivilegeSeparation sandbox //是否权限较低的程序来提供用户操作//为了判断客户端来源是正常合法的。因此会使用DNS去反查客户端的主机名//不过如果在内网互连,这项目设定为no会让联机速度比较快#UseDNS no GSSAPIAuthentication no#PidFile /var/run/sshd.pid //可以旋转sshd这个pid的文档
通过密钥进行sshd服务认证
sshd服务端 192.168.221.10
sshd客户端 192.168.221.20客户端生成密钥对
[root@apenglinux-002 ~]# ssh-keygen
将公钥发布到远程服务器上
[root@apenglinux-002 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.221.10
测试,不需要密码连接到了192.168.221.10上
[root@apenglinux-002 ~]# ssh root@192.168.221.10Last login: Wed Apr 11 19:50:50 2018 from 192.168.221.1警告!从现在开始,你所有的操作已经被记录![root@apenglinux-001 ~]#
服务端查看,会生成~/.ssh/authorized_keys文件
[root@apenglinux-001 ~]# ls ~/.ssh/authorized_keys /root/.ssh/authorized_keys
两台linux服务器之间复制数据
scp命令
scp基于ssh登录并复制数据。远程复制过程中很安全。操作起来比较方便
scp src dest
[root@apenglinux-001 ~]# scp /etc/passwd root@192.168.221.20:/tmp/
[root@apenglinux-001 ~]# scp root@192.168.221.20:/tmp/passwd .
scp -r src dest
转载于:https://blog.51cto.com/13480443/2097007