ssh   安全命令解释器     是目前最广泛的远程登录协议

SSH登录的用户验证方式:
密码验证:使用服务器中系统帐号对应的密码
密钥对验证:使用客户机中生成的公钥、私钥

软件包:openssh-server、openssh-clients

服务名:sshd

客户端主程序/usr/bin/ssh

服务端的主程序 /usr/sbin/sshd

服务端主配置文件  /etc/ssh/sshd_config

客户端主配置文件  /etc/ssh/ssh_config

主配置文件中的项:

LoginGraceTime 2m  限制用户登录验证过程的时间(默认为2分钟)

MaxAuthTries 6     限制用户登录验证过程的最大重试次数

 

PasswordAuthentication   yes   是否启用密码验证

PubkeyAuthentication   yes     是否启用密钥对验证

                   AllowUsers jerry  admin@61.23.24.25    允许用户和用户所在计算机

                   AuthorizedKeysFile    .ssh/authorized_keys     保存公钥文件的位置

客户端链接方式:ssh    用户名@服务器ip

                                        ssh   -l    用户名      服务器

                                        ssh    服务器地址      默认以当前本地用户登录

                                       如果要指定端口的话可以加   - P选项

 

基于密钥 验证的话   客户机在本地用户的宿主目录的.ssh目录下known_hosts保存公钥文件

 

scp 复制远程的文件   格式:scp 用户名@服务器:源文件     目标位置

                          scp 本地文件    用户名@服务器:路径

输出重定向至本地文件:

 

 

ssh  user@host  ‘command1 ; command2 > log.local     //单引号

输出重定向至远程文件:

ssh  user@host  ‘command1 ; command2 > log.remote   //单引号

 

 构建基于密钥的验证   即 (无交互登录)

 

  1. ssh-keygen -t rsa    //创建证书  
  2. ssh-copy-id -i .ssh/id_rsa.pub 用户名@服务器  //上传公钥 
禁用密码验证,启用密钥验证

 重启sshd服务 

 

 

在客户机上用A用户建的证书 做操作    完后必须得是A用户登录客户机 才能无交互的去登录   否则不行

windows下的一些远程连接软件   里面有生成密钥的选项 

一般是先用普通用户登录   完后再su 切换到root