1.OpenSSH安装包

  • 默认安装Linux系统时自动安装,若未安装,安装光盘中的如下rpm包:
  • openssh-5.3p1-94.el6.x86_64.rpm
  • openssh-askpass-5.3p1-94.el6.x86_64.rpm
  • openssh-clients-5.3p1-94.el6.x86_64.rpm
  • openssh-server-5.3p1-94.el6.x86_64.rpm
  • 服务名称:sshd
  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:/etc/ssh/sshd_config
  • 客户端配置文件:/etc/ssh/ssh_config

2.scp命令使用

(1)将当前服务器的文件复制到目标服务器

scp 1.txt root@192.168.10.71:/root

SSH远程访问即控制_linux

(2)将目标服务器的文件复制到当前服务器

scp root@192.168.10.71:/root/1.txt /root

SSH远程访问即控制_服务器_02

3.服务端OpenSSH程序

  • 路径:/etc/ssh/sshd_config

(1)核心配置

Port 22 #ssh默认端口22
AddressFamily any #支持的地址族,any表示ipv4,ipv6都支持
ListenAddress 0.0.0.0 #监听的地址,0.0.0.0表示监听所有
#ListenAddress ::

# Authentication:

Protocol 2 #表示使用ssh的第二版协议

LoginGraceTime 2m #登录等待的时长2min

PermitRootLogin yes #允许用root用户登录

StrictModes yes #接受连接请求时对用户的目录进行权限检查

MaxAuthTries 6 #允许最大的认证次数

MaxSessions 10 #允许最大的session连接数

RSAAuthentication yes #开启RSA算法

PubkeyAuthentication yes #启用密钥对称加密

AuthorizedKeysFile .ssh/authorized_keys #公钥存放路径

PermitEmptyPasswords no #不允许密码为空登录

PasswordAuthentication yes #开启密码验证

UseDNS no #禁止发反向解析

AllowUsers amber zhangsan@root192.168.10.51 #表示amber用户可以任何客户机访问,zhangsan只能在192.168.10.51访问
#DenyUsers lisi #表示远程连接不能用lisi登录

注意:AllowUsers 不能和DenyUsers一起使用

SSH远程访问即控制_linux_03


SSH远程访问即控制_客户端_04


SSH远程访问即控制_服务端_05


SSH远程访问即控制_服务端_06

(2)重启sshd服务

systemctl restart sshd

4.客户端SSH程序

(1)ssh密码登录交互流程图

SSH远程访问即控制_linux_07

(2)登录服务器

ssh 用户名@目标服务器IP地址   #注意如果客户机与主机用户名相同,可以省略

SSH远程访问即控制_服务端_08


SSH远程访问即控制_服务器_09

5.客户端免密登录服务器

(1)ssh密钥交互流程图

SSH远程访问即控制_客户端_10

(2)在客户端创建密钥对

ssh-keygen -t rsa

#可用的加密算法: rsa、dsa

SSH远程访问即控制_客户端_11


SSH远程访问即控制_服务器_12

(3)将公钥传到服务端

scp .ssh/id_rsa.pub root@192.168.10.80:/root

SSH远程访问即控制_linux_13

(4)服务端用户家目录新建.ssh目录,将id_rsa.pub追加到authorized_keys

mkdir /root/.ssh
cat id_rsa.pub >>.ssh/authorized_keys

SSH远程访问即控制_服务器_14

(5)测试免密登录

ssh 192.168.10.80

SSH远程访问即控制_客户端_15

(6)通过ssh-copy-id命令直接将id_rsa.pub追加到服务端的authorized_keys

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.80

SSH远程访问即控制_服务端_16


SSH远程访问即控制_客户端_17

(7)sshpass与ssh-copy-id配合使用非交互式将id_rsa.pub追加到服务端的authorized_keys

sshpass -p "123456" ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.10.80

SSH远程访问即控制_服务端_18