admin管理员组文章数量:1654387
一、Openssh
1.SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。
openssh即开启对外开放连接的接口
2. 对称加密
1)对文件进行加密
openssl enc -des3 -salt -a -in file -out file.des3 #加密文件;-des3加密算法,-salt默认参数,-a以base流形式加密(默认),-in需要加密的文件,-out输出加密文件
2)对文件解密
openssl enc -des3 -d -salt -a -in file.des3 -out file #解密文件;-d解密
3.单向加密:加密不可逆,加密之后不能加密只能用来验证数据完整性
md5sum file #提取特征码
openssl dgst -md5 file #dgst关键字,-md5加密算法
二、SSH的工作原理
SSH是由服务端和客户端组成,服务端是一个守护进程,它在后台运行并响应来自客户端的连接请求版本号协商阶段,SSH目前包括 SSH1和SSH2两个版本, 双方通过版本协商确定使用的
1)版本密钥和算法协商阶段,SSH支持多种加密算法, 双方根据本端和对端支持的算法,协商出最终使用的
2)算法认证阶段,SSH客户端向服务器端发起认证请求, 服务器端对客户端进行
3)认证会话请求阶段, 认证通过后,客户端向服务器端发送会话请求
4)交互会话阶段 ,会话请求通过后,服务器端和客户端进行信息的交互
注:openssh 服务的服务端:sshd
openssh 服务的客户端:ssh
三、远程连接的步骤
- 将虚拟机的网络连接设置改为桥接模式,ping 主机 是否可以ping通。
-
分别设置一个虚拟机为服务器端,另一个为客户端。
-
在客户端连接sshd
1)远程主机首次登陆
2)指定用户连接主机
例:在客户端连接ip 为192.168.0.155
ssh root@192.168.0.155
即可连接到ip为192.168.0.155 的虚拟机
四、服务器端与客户端间的处理
- 在服务器端下发文件
例:向ip为192.168.0.126 的虚拟机下发aa文件
scp aa root@192.168.0.126 :/root
然后在客户端查看是否会有aa文件,查看内容
- ssh服务添加的认证–key
1)生成锁和钥匙
ssh -keygen(若设置密码,不少于四位)
免密key认证
[root@wq ~]# 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): #可以为空,如果想为空必须大于4位
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥
The key fingerprint is:
SHA256:Ad5CGDT2E3/oIFvxnJiIN0KHhMMgY2Usv5zqq4hUTX0 root@wq
The key's randomart image is:
+---[RSA 2048]----+
|*+==*o= |
|==o=.*.@ o |
| .= =.X.OE. |
| +o= =.o |
| ..+. S |
| .+ |
| .. |
|+. |
|*o. |
+----[SHA256]-----+
2)在服务端对ssh加密认证
ssh-copy-id -i /root/.ssh/id_rsa.pub root@服务端IP
五、安全配置
1.SSH相关配置文件
more /etc/ssh/sshd_config #服务端配置文件
more /etc/ssh/ssh_config #客户端配置文件
vi /etc/ssh/sshd_config,在下面“蓝线标记”编辑设置的内容
# To disable tunneled clear text passwords, change to no here!
63 #PasswordAuthentication yes
64 #PermitEmptyPasswords no##开启或关闭root用户的登陆权限
65 PasswordAuthentication yes##开启或关闭ssh的默认认证方式
2.黑名单与白名单
1)黑名单
除了黑名单用户,其他人均可远程连接主机
例:将Alice用户设置为黑名单用户
检测:客户端不能通过远程连接到alice用户
(相当于在服务器端将alice用户保护起来)
2)白名单
除了白名单用户,其他人均不可远程连接主机
例:将alice用户设置为白名单用户
检测:其他用户均不能通过ssh远程连接
六、客户端免密登陆服务器
通过密码对进行登录
1).在客户端生成密钥对
注:生成密钥对前,需用户身份。例如:当user1需要登录到服务端时,user1必须在客户端生成自己的密钥文件。其他用户也一样。
1 # su - user1
2 # ssh-keygen -t rsa //生成密钥文件
3 Generating public/private rsa key pair.
4 Enter file in which to save the key (/root/.ssh/id_rsa): //按回车
5 Enter passphrase (empty for no passphrase): //设置保护私钥文件的密码,即密钥登录时的密码
6 Enter same passphrase again: //再次输入保护私钥文件的密码
7 Your identification has been saved in /root/.ssh/id_rsa.
8 Your public key has been saved in /root/.ssh/id_rsa.pub.
9 The key fingerprint is:
10 33:ee:01:7d:c3:74:83:13:ef:67:ee:d7:60:2d:e1:16 root@localhost
ll -a .ssh/
1 total 16
2drwx------. 2 root root 57 Nov 14 03:09 .
3dr-xr-x---. 5 root root 4096 Nov 14 01:40 ..
4-rw-------. 1 root root 1675 Nov 14 03:09 id_rsa //创建的私钥
5-rw-r--r--. 1 root root 392 Nov 14 03:09 id_rsa.pub //创建的公钥
6-rw-r--r--. 1 root root 350 Nov 14 02:14 known_hosts
2)将公钥文件上传到服务器
scp .ssh/id_rsa.pub user1@192.168.76.129(服务器IP):/home/user1/
3).在服务器端,将公钥文件添加到相应用户的密钥库里
mkdir -p /home/user1/.ssh/ //注意,这里创建的。ssh目录权限必需是除自己外,对其他用户只读,也就是权限位设置为644,
mv /home/user1/id_rsa.pub /home/user1/,ssh/authorized_keys //由于生成的公钥名称与指定的公钥名称不符,因此需要将生成的文件名换成authorized_keys即可。
4).修改sshd_config配置文件:
vim /etc/ssh/sshd_config
1 PasswordAuthentication no //禁用口令验证方式,不能把原有的2 PasswordAuthentication yes注释掉,注释后,就算没有公钥也能通过口令登录,这样不安全,而且失去了密钥验证的意义。
3 RSAAuthentication yes //启用RSA验证
4 PubkeyAuthentication yes //启用公钥验证
5 AuthorizedKeysFile .ssh/authorized_keys //启用公钥文件位置,后面的路径是设置公钥存放文件的位置保存修改好的配置,退出。
5).重启sshd服务
systemctl restart sshd
3.登录服务器
1.Linux客户机
ssh 192.168.1.100 //输入服务器IP登录,不加用户名默认以root身份登录
或者 ssh user1@192.168.76.129 //以user1身份登入服务器
文件传输
**1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本地目录)
2.上传本地文件到服务器 scp /path/filename username@servername:/path
3.从服务器下载整个目录 scp -r
username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
4.上传目录到服务器 scp -r local_dir username@servername:remote_dir**
本文标签:
版权声明:本文标题:远程连接管理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729641798a1208555.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论