Linux之SSH和screen服务
SSH是一种能够以安全的方式提供远程登录的协议,目前远程管理的首选方式,
sshd是基于SSH协议开发的一款远程管理服务程序,
在Linux系统中需要部署sshd服务程序才能使用SSH协议来进行远程管理,RHEL7默认已安装并启用;
sshd有两种安全验证方法:
基于口令的验证--用账号和密码来登录验证
基于密钥的验证--在本地生成密钥对,然后把密钥对中的公钥上传至服务器,
之后远程登录时,客户端请求验证并把公钥信息发到服务端, 服务端对该公钥信息进行比较验证,
第二种密钥验证相比更加安全,但在第一次传送公钥文件至服务器也可能受到"中间人"的攻击;
基于口令:
sshd服务的配置信息保存在/etc/ssh/sshd_config文件中,
ssh命令远程连接格式为 ssh 主机IP,退出用exit,
第一次连接会提示是否连接,yes即可,
每次登录都需要输入远程主机root密码,不安全;
基于密钥:
密钥是一种算法,将明文转换成密文,密钥即密文的钥匙,分公钥和私钥,
私钥放在客户端,公钥需上传至远程主机,用以后续登录验证;
1.在客户端主机中使用生成密钥对ssh-keygen
2.把客户端生成的公钥文件上传至远程主机ssh-copy-id 主机IP
这里需要输入远程主机root密码,也可能受到攻击,但只这一次,以后则可直接登录
3.设置远程主机只允许密钥验证,不允许口令验证,并重启sshd服务
4.客户端可用ssh直接登录远程主机,无需输入密码
scp是一个基于SSH协议在网络之间进行安全传输的命令
若已设置密钥验证,则无需账号密码;
不间断会话:
在使用SSH服务远程登录时,如果与远程主机的会话被关闭,那在远程主机上运行的命令也随之中断,
另外如果想同时执行多个命令,只能再打开一个远程会话终端窗口,不便管理;
screen是一款能够实现多窗口远程控制的开源服务程序,能保持会话不中断且多个会话自由切换,
主要有,会话恢复-多窗口-会话共享等功能,在会话中执行的任何操作都会被后台记录下来;
-S 创建会话窗口,-d 将制定会话离线,-r 恢复指定会话,-x一次性恢复所有会话,
-ls 显示当前已有的会话,-wipe 把目前无法使用的会话删除,退出会话用exit;
在每个screen session 下,所有命令都以 ctrl+a开始,
如 ctrl+a ? -> 显示所有键绑定信息, ctrl+a d -> detach等;