目录
SSH带外管理
一、概述
ssh服务,一种远程管理连接工具,在CentOS7系统中默认安装并开机自启的。
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。
监听tcp的22号端口。软件包名称:openssh
配置文件目录:/etc/ssh,sshd_config 服务端配置文件;ssh_config 客户端配置文件。
客户端提供:ssh、scp、sftp命令
服务端提供:sftp服务、ssh服务
二、 配置文件
服务端配置文件: sshd_config
Port 22 #监听端口 AddressFamily any #ip地址版本 ListenAddress 0.0.0.0 #监听地址,ipv4 ListenAddress :: #监听地址,ipv6 PermitRootLogin yes #是否允许root用户登录 MaxAuthTries 6 #重新连接最大次数 MaxSessions 10 #建立不同用户的会话的最大个数 PubkeyAuthentication yes #是否启用公钥对验证登录 AuthorizedKeysFile .ssh/authorized_keys #存储客户端公钥信息的文件 PasswordAuthentication yes #是否启用密码验证登录 PermitEmptyPasswords no #是否允许空密码登录 UsePAM yes #启用系统用户及密码进行验证登录 UseDNS no #是否启用ssh内部的解析,会影响连接速度
客户端配置文件: ssh_config,设置ssh命令连接的关键配置
Port 22 #设置ssh命令连接的默认端口
三、命令解析
###远程登录命令### ###语法:#### ssh [选项] [username@]ssh服务器的监听IP地址或者主机名(使用主机名时,保证客户端能够解析主机名) ####选项:###### -p port 指定连接服务器的监听端口 ###远程拷贝命令#### ###语法:#### ##将本机的文件拷贝到远程主机## scp 本机的文件路径 [username@]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 ##将远程主机的文件拷贝到本机## scp [username@]ssh服务器的监听IP地址或者主机名:/远程主机存储路径 本机的文件路径 ###sftp服务登录命令### sftp [选项] [username@]ssh服务器的监听IP地址或者主机名(使用主机名时,保证客户端能够解析主机名)
四、登录方式配置
1、用户名密码登录
默认方式,直接可以使用
2、公钥验证登录
密码学基础:
| 概念 | 解析 |
|---|---|
| 对称加密 | 双方采用相同的秘钥,安全性较低 |
| 非对称加密 | 双方采用不同的秘钥,安全性较高 |
| 公钥 | 大家都可以知道的秘钥。 |
| 私钥 | 只有自己知道的秘钥。能够证明自己的身份信息 |
注意:公钥和私钥不能相互推导!!!
公钥与私钥之间能够相互解密!!!
数据加密:
使用对端的公钥加密,接收端收到数据后,使用自己的私钥解密。作用是保证数据完整性。
数字签名:
私用自己的私钥加密,接收端收到数据后,使用发送端的公钥解密。作用是保证发送者的身份唯一性。
ssh客户端生成密钥对
###生成密钥对的命令### ssh-keygen ,默认是交互式 ###常用选项:#### -t : 指定秘钥算法 -N : 指定秘钥短语 -f : 指定秘钥存储路径 [root@s1 .ssh]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: ###非交互生成密钥对#### [zhx1@s1 ~]$ ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa ###默认保存到当前执行该命令的用户家目录中的.ssh目录##### [root@s1 .ssh]# ls id_rsa id_rsa.pub ###id_rsa: 私钥;id_rsa.pub: 公钥### ###拷贝公钥命令### ssh-copy-id ###ssh命令的特殊用法:远程执行ssh服务器的指令#### [root@s1 .ssh]# ssh 192.168.115.128 ip a ##注意:不能执行ssh-copy-id命令####
四、实操
客户端使用user1用户,并且以服务端的用户user2的身份登录,使用公钥对验证登录。
在主机1上创建user1 [root@localhost ~]# useradd user1 在主机2创建user2 [root@localhost ~]# useradd user2 登录user1,并且给user2设置密码(为1) [root@localhost ~]# su - user1 并且给user2设置密码(为1) [root@localhost ~]# passwd user2 更改用户 user2 的密码 。 新的 密码: 无效的密码: 密码是一个回文 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 在主机1里生成钥对 [user1@localhost ~]$ ssh-keygen ##(交互式生成) Generating public/private rsa key pair. Enter file in which to save the key (/home/user1/.ssh/id_rsa): ##存储私钥的位置,默认为()里的路径 Created directory '/home/user1/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: ##设置密码短语(一般为空) Your identification has been saved in /home/user1/.ssh/id_rsa. Your public key has been saved in /home/user1/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+wM4TaesOAxToy+FDNl6CHR5MGYb0nJ0StqvMiEF4LU user1@localhost.localdomain The key's randomart image is: +---[RSA 2048]----+ |+.oXo. | |.+O=B. | |.==E. | |+.. + . . | |o* + o =So | |+ O o o =. | | + B . o.. | | + = . .. | | . . .. | +----[SHA256]-----+ 在生成钥对后,使用ssh-copy-id将钥对拷贝给主机2 [user1@localhost ~]$ ssh-copy-id user2@192.168.239.140 /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/user1/.ssh/id_rsa.pub" The authenticity of host '192.168.239.140 (192.168.239.140)' can't be established. ECDSA key fingerprint is SHA256:mcPIFK1593usLRK8zsfuNNsBn39Jt2MC2L/GP1fhA1I. ECDSA key fingerprint is MD5:00:85:24:3b:89:ba:ab:7e:35:49:f7:21:d2:0e:c7:f7. Are you sure you want to continue connecting (yes/no)? yes /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys user2@192.168.239.140's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user2@192.168.239.140'" and check to make sure that only the key(s) you wanted were added. 这样就可以免密,直接使用公钥对登录了 [user1@localhost ~]$ ssh user2@192.168.239.140 [user2@localhost ~]$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:ed:de:55 brd ff:ff:ff:ff:ff:ff inet 192.168.239.140/24 brd 192.168.239.255 scope global noprefixroute dynamic ens33 valid_lft 1670sec preferred_lft 1670sec inet6 fe80::657b:1e7b:896e:e502/64 scope link noprefixroute valid_lft forever preferred_lft forever
4037

被折叠的 条评论
为什么被折叠?



