SSH服务(SSH连接、免密登录、远程拷贝scp)

前言

       在CentOS系统上,SSH连接是一种安全的远程访问协议,可以通过SSH协议连接并控制运行在CentOS系统上的远程主机。SSH连接提供了一种加密的远程访问方式,可以保证数据传输的安全和可靠性,同时还可以防止非法入侵者获得对系统的访问权限。

       要使用SSH连接到CentOS系统,需要在CentOS系统上打开SSH服务,并使用一个SSH客户端在另一个计算机上连接到CentOS系统。在连接SSH服务器时,需要输入服务器IP地址、用户名和密码,或者使用密钥对进行认证。

       通过SSH连接,你可以在远程服务器上执行各种命令和程序,例如查看系统状态、安装软件、管理用户、配置网络等。这使得SSH连接成为了一种非常强大的远程管理工具,广泛应用于Linux系统中。

目录

【准备】

1 安装软件

2 查看端口号

3 启动服务

4 关闭防火墙和SELINUX

 4.1 关闭防火墙

 4.2 关闭SELINUX

5 远程登录管理

6 SSH连接

7 免密登录(SSH密钥认证)

 7.1 产生公钥和私钥

 7.2 拷贝公钥给对方

 7.3 查看公钥和私钥

8 远程拷贝(scp)

9 修改端口号


【准备】

请先准备两台虚拟机(一台服务端,另一台客户端),并且远程登录。

IP地址        服务端:192.168.10.109

                   客户端:192.168.10.110

1 安装软件

openssh-server     提供服务 

openssh-clients     客户端

openssh

我们使用“yum -y install openssh*”安装SSH服务。

yum -y install openssh*

 

如图,显示“完毕!”则表示安装成功。 

2 查看端口号

SSH默认端口是22号。

方法一:使用“lsof -i:22”查看。

lsof -i:22

如果显示“-bash: lsof: 未找到命令”则表示没有安装lsof,可以使用yum源安装lsof再进行查看,或者使用方法二查看。

yum -y install lsof

方法二:使用“ps aux | grep sshd”命令。

ps aux | grep sshd

3 启动服务

一般ssh服务默认是开启的,如果没有启动可以使用以下命令启动服务。

systemctl start sshd

4 关闭防火墙和SELINUX

<think>好的,我需要回答用户关于SSH免密登录时公钥应该拷贝到目标服务器的哪个位置的问题。首先,我要回忆一下SSH免密登录的基本原理和步骤。SSH免密登录主要基于公钥认证,用户将本地的公钥添加到目标服务器的指定文件中,这样在登录时就可以不用输入密码。 接下来,我需要确定这个指定文件的具体路径和名称。根据已有的知识,目标服务器上存储用户公钥的文件通常是用户主目录下的.ssh/authorized_keys文件。因此,正确的路径应该是/home/username/.ssh/authorized_keys,其中username是对应的用户账户名。不过,这里可能需要提醒用户注意不同系统或配置可能存在的差异,比如是否允许root登录,或者是否修改过默认的SSH配置。 然后,需要考虑用户如何正确地将公钥复制到目标服务器。常见的方法是使用ssh-copy-id命令,这个命令会自动处理公钥的复制和权限设置。如果用户没有这个命令可用,可能需要手动操作,比如通过scp复制公钥文件,然后手动追加到authorized_keys文件中,并确保相关目录和文件的权限正确。权限设置非常重要,如果权限过松,SSH服务可能会拒绝使用该文件,导致免密登录失败。通常,.ssh目录的权限应该是700,authorized_keys文件的权限应该是600。 此外,可能需要提到一些常见的问题和解决方法。例如,如果目标服务器上没有.ssh目录,用户需要手动创建,并设置正确的权限。或者,如果用户使用的是非标准端口或自定义的SSH配置,需要相应地调整命令参数。还有可能遇到权限问题,导致即使公钥正确也无法登录,这时候需要检查日志文件(如/var/log/auth.log)来排查问题。 另外,可能需要提醒用户关于安全性的考虑,比如确保私钥的安全,不要将私钥泄露,以及定期更换密钥对等。如果目标服务器是多人共用的,需要注意authorized_keys文件的管理,避免未授权的公钥被添加。 总结一下,回答的结构应该是先明确公钥存放的位置,然后介绍几种常用的方法(如ssh-copy-id和手动操作),接着强调权限设置的重要性,最后补充一些常见问题和注意事项。这样用户能够全面了解如何正确配置SSH免密登录,并避免常见的错误。</think>SSH免密登录时,公钥需要拷贝到目标服务器的`~/.ssh/authorized_keys`文件中,具体步骤如下: --- ### 🔑 核心路径说明 目标服务器的公钥存放路径: ``` /home/[用户名]/.ssh/authorized_keys ``` (例如用户名为`ubuntu`时:`/home/ubuntu/.ssh/authorized_keys`) --- ### ✨ 两种常用方法 #### 方法一:ssh-copy-id(推荐) ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub [用户名]@[服务器IP] ``` 示例: ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] ``` *自动完成权限设置和文件创建* #### 方法二:手动操作 1️⃣ 本地生成密钥对(如未生成过): ```bash ssh-keygen -t rsa # 默认生成 id_rsa 和 id_rsa.pub ``` 2️⃣ 复制公钥到服务器: ```bash cat ~/.ssh/id_rsa.pub | ssh [用户名]@[服务器IP] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ``` --- ### 🔒 必须的权限设置 执行后需确保目标服务器权限: ```bash chmod 700 ~/.ssh # 目录权限 chmod 600 ~/.ssh/authorized_keys # 文件权限 ``` --- ### ⚠️ 常见问题排查 1. **路径问题**:确保公钥追加到对应用户的`authorized_keys`文件 2. **权限问题**:服务器拒绝过松的权限(目录755/文件644会导致失败) 3. **配置检查**:确认`/etc/ssh/sshd_config`包含: ```conf PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ``` 4. **服务重启**:修改配置后执行 `systemctl restart sshd` --- ### 🌰 验证登录(成功后无密码提示) ```bash ssh [用户名]@[服务器IP] ``` 通过以上步骤即可实现SSH公钥认证登录,既提升便利性又增强安全性(相比密码登录)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mortalz7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值