默认情况下,CentOS8的sshd服务是开启的。如果没有开启,先要开启sshd服务。
ssh远程操作类型:
1)命令操作
2)文件传输
ssh登陆类型:
1)口令登陆(默认)
2)密钥登陆
ssh客户端远程操作前提:
1)网卡模式是否一致
2)IP是否是同一网段
3)linux服务器是否开启sshd服务,端口默认22
4)客户端是否有ssh客户端软件
口令登录原理:
1)客户端 ————————发送连接——————>服务器
2)服务器 ————————发送公钥—————>客户端
3)客户端 ———————发送加密口令————>服务器验证
4)服务器验证成功————————>客户端成功登录
口令登录操作:
ssh root@192.168.138.2
root@192.168.138.2's password: #输入口令,回车
密钥登录原理:
1)客户端生成一对密钥(公钥和私钥)
2)客户端需先手动将公钥添加到服务器的authorized_keys中
3)服务器生成随机数R,并使用客户端的公钥对其加密,得到pubKey,发送给客户端
4)客户端使用私钥解密,得到R,用MD5对R和SessionKey生成摘要Digest1,发送给服务器
5)服务器对R和SessionKey利用同样摘要算法生成Digest2,比较Digest1和Digest2是否相同,如果相同,登录成功
密钥登录操作步骤:
1)使用cmder生成私钥id_rsa和公钥id_rsa.pub
ssh-keygen.exe -t rsa
一路按enter回车确认
2)切换到密钥存放的目录
D:\cmder
$ c:
c:\Users\fang\.ssh
$ ls
id_rsa id_rsa.pub
3)登录服务器,在根目录下新建一个目录.ssh
mkdir .ssh
4)客户端使用cmder上传公钥id_rsa.pub到服务器的.ssh目录,并改名为authorized_keys
c:\Users\fang\.ssh
$ scp id_rsa.pub root@192.168.138.2:/root/.ssh/authorized_keys
5)此时,客户端再次登录时,可直接登录,不再需要口令
c:\Users\fang\.ssh
$ ssh root@192.168.138.2 #无口令登录
$ scp test.txt root@192.168.138.2:/root/ #无口令拷贝文件到服务器
$ scp root@192.168.138.2:/root/linux.txt ./ #无口令拷贝远程文件到本地
6)安全加固,设置authorized_keys权限
在某些linux系统上,必须设置好authorized_keys才能连接成功
.ssh目录的权限必须是700
.ssh/authorized_keys文件权限必须是600
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# cd ..
[root@localhost ~]# chmod 700 -R .ssh/