麒麟操作系统服务架构保姆级教程(二)ssh远程连接
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情
作为一名成熟运维架构师,我们需要管理的服务器会达到几十台,上百台,上千台,甚至是上万台服务器,而且咱们的服务器还不一定都在一个机房,甚至不在一个城市,那么问题来了,我总不能跑到机房去一台一台的连接服务器去操作吧,不说多,有个四十台每台单独去操作足够我忙一个星期了,我们需要一个工具,让我们足不出户去管理这么多的服务器,这时候就需要用到一个服务——ssh
目录
一、ssh远程连接和OpenSSH服务
二、ssh远程连接
三、scp命令
四、ssh远程免密钥连接
五、ssh远程执行命令
六、远程免密连接(不登陆用户)
1、windows界面使用xshell软件,选择工具;
2、选择新建用户密钥生成向导
3、点击下一步
4、点击下一步
5、不填密码
6、将服务器生成的公钥粘贴到公钥的文本栏
七、免密链接失败检查权限问题
💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!
👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!
🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!
一、ssh远程连接和OpenSSH服务
SSH(Secure Shell)概述
SSH 是一种网络协议,如前面所说,它主要用于在不安全的网络环境中提供安全的远程登录和其他网络服务。它是一个比较抽象的概念,规定了通信的规则和安全机制等诸多内容。
OpenSSH 概述
OpenSSH 是 SSH 协议的一个免费开源实现。它包含了一系列的工具,如ssh(用于远程登录)、scp(安全拷贝文件)、sftp(SSH 文件传输协议)等。
OpenSSH 在各种操作系统中广泛应用,是目前实现 SSH 功能的主流软件之一。例如,在 Linux 和 Unix 系统中,它几乎是默认安装的,并且是系统管理员进行远程管理和文件传输的重要工具。
关系与区别
关系:OpenSSH 遵循 SSH 协议来实现功能。也就是说,SSH 协议定义了要达到的安全远程通信的目标和规则,OpenSSH 是具体实现这些规则的软件。
区别:
SSH 是一个协议标准,它只是规定了如何进行安全的远程连接等操作,本身没有具体的代码实现。而 OpenSSH 是一个实际的软件套件,有具体的代码编写和功能实现,可以直接安装和使用。
SSH 协议可以有多种实现方式,除了 OpenSSH 外,还有其他商业的或者非开源的实现。但是 OpenSSH 由于其开源性、稳定性和广泛的社区支持,成为了最受欢迎的 SSH 实现方式之一。
二、ssh远程连接
1.windows连接linux服务器 过程中都需要弹框提供密码
ssh root@10.0.0.41 # 默认使用22端口
ssh root@10.0.0.41 2222 # 指定端口远程连接
2.linux服务器连接linux服务器
默认22端口
默认使用当前登录系统的用户远程连接
[root@nfs ~]#ssh root@10.0.0.41
[root@nfs ~]#ssh -p2222 root@10.0.0.41 # 指定远程端口
其他注意:
服务器: 可以用IP 域名 主机名称
[root@nfs ~]#cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.41 backup
[root@nfs ~]#ssh -p2222 backup
[root@nfs ~]#ssh linuxnc.com
三、scp命令
默认使用的22端口
默认使用当前登录的用户
拉取:目标服务器+路径+本地预拉取路径
推送:本地路径文件+目标服务器+路径
案例1.将41本地的test.txt 传送到10.0.0.31的家目录
[root@backup ~]#touch test.txt
[root@backup ~]#ll
total 0-rw-r--r-- 1 root root 0 Apr 11 09:54 test.txt
[root@backup ~]#scp test.txt 10.0.0.31:~
案例2.将31的hosts文件拉取到当前目录
[root@backup ~]#scp 172.16.1.31:/etc/hosts .
案例3.指定端口-P
[root@nfs ~]##将test.txt 推送到41的/opt目录下
[root@nfs ~]#scp -P2222 test.txt 10.0.0.41:/opt/
案例4.拷贝目录需要-r参数递归
[root@backup ~]#scp -r /etc 10.0.0.31:/root/
四、ssh远程免密钥连接
ssh远程连接两种方式:
方法1: 基于用户和密码 超市购物 刷卡输入密码
方法2: 基于秘钥的方式验证 人脸验证
第一步: 生成秘钥对 一把锁和一把钥匙
[root@backup ~]#ssh-keygen #一路回车
[root@backup ~]#ll .ssh/
total 12-rw------- 1 root root 1679 Apr 11 10:22 id_rsa-rw-r--r-- 1 root root 393 Apr 11 10:22 id_rsa.pub
第二步:将公钥发送到需要免秘连接的服务器
[root@backup ~]#ssh-copy-id -i .ssh/id_rsa.pub 172.16.1.31
或者简写,默认查找/root/.ssh/id_rsa.pub
[root@backup ~]#ssh-copy-id 172.16.1.31
第三步: 远程连接测试
[root@backup ~]#ssh 10.0.0.31
Last login: Thu Apr 11 10:25:51 2024 from 10.0.0.41
[root@nfs ~]#
五、ssh远程执行命令
案例1.在41服务器上远程在7服务器上创建test.txt文件
[root@backup ~]# ssh 10.0.0.7 'touch test.txt'
案例2.查看10.0.0.7的主机名称
[root@backup ~]#ssh 10.0.0.7 "hostname"
root@10.0.0.7's password:
web01
###尽量避免交互,vim less -f 避免使用
六、远程免密连接(不登陆用户)
第一步: nfs服务器生成秘钥对
[root@nfs ~]#ssh-keygen
第二步: 传送的方式有两种
第一种方法: 使用ssh-copy-id 的方式远程发送给10.0.0.7
[root@nfs ~]#ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.7
默认会在10.0.0.7服务器的家目录下隐藏目录下.ssh生成-rw------- 1 root root 390 Apr 11 11:43 authorized_keys
或者使用第二种发送方式: 只在windows的xshell连接linux的时候才使用
[root@web01 ~]#vim .ssh/authorized_keys
将公钥粘贴进来
在修改文件的权限为600
[root@web01 ~]# chmod 600 .ssh/authorized_keys
第三步: ssh 10.0.0.7 免秘钥连接
企业做免秘钥出现问题最多的:
一切都没问题后还是无法免秘钥连接: 需要检查每层目录的权限 一直到/目录
[root@web01 ~]#cd .ssh/
[root@web01 .ssh]#ll
total 8-rw------- 1 root root 390 Apr 11 11:46 authorized_keys-rw-r--r-- 1 root root 344 Apr 10 08:39 known_hosts
[root@web01 .ssh]#pwd
/root/.ssh
.ssh必须是700
root权限必须是550
/ 权限必须是555
切记一定不要使用-R递归修改root的权限
[root@web01 ~]#ll -d /root
drwxr-xr-x. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chmod 550 /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chown root.root /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 root root 180 Apr 11 11:46 /root
1、windows界面使用xshell软件,选择工具;
2、选择新建用户密钥生成向导
3、点击下一步
4、点击下一步
5、不填密码
6、将服务器生成的公钥粘贴到公钥的文本栏
将公钥写入
[root@nfs ~]#vim .ssh/authorized_keys
修改无密码登录
[root@nfs ~]#vim /etc/ssh/sshd_config
65 PasswordAuthentication yes #65行yes改为no(实验完成改回)
重启ssh服务
七、免密链接失败检查权限问题
企业做免秘钥出现问题最多的:
一切都没问题后还是无法免秘钥连接: 需要检查每层目录的权限 一直到/目录
[root@web01 ~]#cd .ssh/
[root@web01 .ssh]#ll
total 8-rw------- 1 root root 390 Apr 11 11:46 authorized_keys-rw-r--r-- 1 root root 344 Apr 10 08:39 known_hosts
[root@web01 .ssh]#pwd
/root/.ssh
.ssh必须是700
root权限必须是550
/ 权限必须是555
切忌一定不要使用-R递归修改root的权限
[root@web01 ~]#ll -d /root
drwxr-xr-x. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chmod 550 /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 1001 1001 180 Apr 11 11:46 /root
[root@web01 ~]#chown root.root /root
[root@web01 ~]#ll -d /root
dr-xr-x---. 5 root root 180 Apr 11 11:46 /root
ssh服务的学习到此告一段落了,明天学点好玩的东西,中间件~~~~
想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~