小壮学运维8--Linux系统中sshd远程访问

sshd

1.什么是openSSH

  openSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
  openSSH就是能提供远程访问服务的软件。

  • 2.如何实现远程访问服务
ssh 远程主机用户@远程主机ip地址
  • 这里写图片描述 

第一次建立链接要创建安全传输key 
这里写图片描述 
输入密码,没有回显 
这里写图片描述 
出现shell就显示登陆成功 
这里写图片描述 
ctrl + d 或者 logout退出登陆

 vim /etc/motd  ###设定登陆显示字符

在远程主机用户设置登陆显示字符,当登陆时就会显示 
这里写图片描述

3.ssh的key认证

3.1生成key

ssh-keygen          ###生成公钥和私钥的工具
  • 这里写图片描述 

指定加密字符保存文件,按回车键使用默认 
这里写图片描述 
输入两次密码,必须大于4位 
这里写图片描述 
这里提示在/root/.ssh/下生成两个文件 
这里写图片描述 
id_rsa位私钥,id_rsa.pub位公钥 
authorized_keys ###此文件在目标用户家目录的.ssh中,这个文件就是目标用户被加密的标识,文件内容位公钥内容。

3.2使用key加密目标主机的目标用户

ssh-copy-id -i /home/test/.ssh/id_rsa.pub [email protected]

这里写图片描述

ssh-copy-id     ####上传key的工具
-i          ####指定使用的公钥
/root/.ssh/id_rsa.pub   #####使用公钥的名称
root            ####被管理的目标用户
222.24.14.61        ####被管理用户所在主机的ip

3.3关闭用户密码认证

vim /etc/ssh/sshd_config    ###sshd服务的配置文件
第78行 PasswordAuthentication 改为 no ###关闭用户密码认证

3.4发送密钥到登陆用户

一定要发送到登陆用户家目录的.ssh目录里,一定! 
这里写图片描述

3.5使用key远程登陆

输入建立ssh-keygen 的密码登陆 
这里写图片描述


4.ssh的简单配置

vim /etc/ssh/sshd_config        ###sshd服务的配置文件

Protocol 2  #只支持SSH2协议
Port <端口号>  #修改默认端口号
MaxStartups 5    #同时允许5个尚未登录的SSH联机
MaxAuthTries 3   #最大登录尝试次数为3
ServerKeyBits 1024  #将ServerKey强度改为1024比特

PermitEmptyPasswords no  #禁止空密码进行登录
ChallengeResponseAuthentication no #禁用s/key密码
UsePAM no  #不通过PAM验证
PermitRootLogin no #禁止root远程登录
PasswordAuthentication no  #不允许密码方式的登录
RSAAuthentication no #不允许RSA认证,只针对SSH1
PubkeyAuthentication yes #允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys #保存公钥的认证文件
UsePrivilegeSeparation yes    #用户权限设置
SyslogFacility AUTH    #记录SSH登录情况
LogLevel INFO    #记录等级为INFO
PrintMotd yes    #登录成功后显示/etc/motd 文件的内容
PrintLastLog no    #不显示上次登录信息
Compression yes  #是否压缩命令
KeepAlive yes    #防止死连接
StrictModes yes    #接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查
UseDNS no  #不使用DNS反解

AllowUsers 用户名  #允许通过远程访问的用户,多个用户以空格分隔
AllowGroups 组名  #允许通过远程访问的组,多个组以空格分隔
DenyUsers 用户名  #禁止通过远程访问的用户,多个用户以空格分隔
DenyGroups 组名  #禁止通过远程访问的组,多个组以空格分隔
  • 注:每次更改完配置文件,都要重启服务,从新加载配置以生效.

5.远程文件传输

scp                                     ##远程复制
scp     file    user@ip:/directory      ##上传文件
scp -r  dir user@ip:/directory          ##长传目录
scp     user@ip:/filename   /direcotry  ##下载文件scp -r  user@ip:/directory  /direcotry  ##下载目录


6.远程同步

rsync           ###远程同步
rsync file|direcotry user@ip:/directory
rsync user@ip:/directory /directory
    -r  ##同步目录
    -l  ##不忽略链接
    -p  ##不忽略特殊权限
    -t  ##不忽略时间戳
    -g  ##不忽略组信息
    -o  ##不忽略用户信息
    -D  ##不忽略设备文件

7.linux中服务的管理 
systemctl   
动作   服务
systemctl start     sshd        #
开启服务
systemctl stop      sshd        #
停止服务
systemctl status    sshd        #
查看服务状态
systemctl restart   sshd        #
重启服务
systemctl reload    sshd        #
让服务从新加载配置
systemctl enable    sshd        #
设定服务开启启动
systemctl disable   sshd        #
设定服务开机不启动

systemctl list-unit-files       #
查看系统中所有服务的开机启动状态
systemctl list-units            #
查看系统中所有开启的服务
systemctl set-default graphical.target  #
开机时开启图形
systemctl set-default multi-user.targe  #
开机时不开图形


猜你喜欢

转载自blog.csdn.net/hello_xiaozhuang/article/details/79906899