ssh免密互信

本文介绍如何通过SSH-keygen生成秘钥,利用ssh-copy-id实现主机间免密登录,以及如何使用scp进行免密远程文件传输。涵盖秘钥生成、传输、免密登录配置及远程文件操作的方法。

1.两台主机生成秘钥:
ssh-keygen -t rsa (-t表示指定加密方式)
ssh免密互信
2.将主机生成的秘钥传给彼此:
ssh-copy-id -i /root/.ssh/ip_rsa.pub root@ip地址 (-i指定传输内容)
ssh免密互信
3.主机可以互信免密,使用IP地址登录
ssh root@ip地址
ssh免密互信
4.可以免密远程下载和上传资料:
-r 递归复制
-p 保持权限
-P 端口
-q 静默模式
-a 全部复制
scp root@ip地址:(文件位置) 下载的文件存放到什么位置
ssh免密互信

配置SSH互信登录是一种常见的需求,特别是在自动化运维和集群环境中。实现SSH登录的核心原理是使用公钥认证机制。以下是详细的配置步骤: ### 1. 生成SSH钥对 在客户端主机上生成SSH钥对(通常为`id_rsa`和`id_rsa.pub`)。如果钥已经存在,可以跳过此步骤。 ```bash ssh-keygen -t rsa ``` 在生成钥时,可以选择是否设置码。如果希望完全登录,则可以留空码。 ### 2. 将公钥复制到目标主机 使用`ssh-copy-id`命令将客户端的公钥复制到服务端的`~/.ssh/authorized_keys`文件中。假设客户端的IP为`192.168.240.1`,目标主机的IP为`192.168.240.2`,并且目标主机的用户名为`user`,则命令如下: ```bash ssh-copy-id user@192.168.240.2 ``` 此命令会自动将`~/.ssh/id_rsa.pub`文件内容追加到目标主机的`~/.ssh/authorized_keys`文件中。 ### 3. 配置SSH服务端允许公钥认证 确保服务端的SSH配置文件`/etc/ssh/sshd_config`中包含以下设置: ```bash PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 ``` 修改配置后需要重启SSH服务以应用更改: ```bash sudo systemctl restart sshd ``` ### 4. 测试SSH登录 完成上述步骤后,可以通过以下命令测试登录: ```bash ssh user@192.168.240.2 ``` 如果一切正常,将直接登录目标主机而无需输入码。 ### 5. 处理常见问题 如果出现以下错误: ``` RSA host key for 192.168.1.131 has changed and you have requested strict checking. Host key verification failed. ``` 这意味着目标主机的SSH钥发生变化,通常是由于目标主机重新生成了钥或更换了系统。可以通过以下方式解决: - 删除本地的已知主机记录: ```bash ssh-keygen -R 192.168.1.131 ``` - 重新尝试连接,系统会提示是否接受新的主机钥。 ### 6. 配置双向登录 如果需要实现双向登录(例如A登录B,同时B登录A),则需要在两台主机上分别执行上述步骤。具体来说: - 在A上生成钥,并将公钥复制到B。 - 在B上生成钥,并将公钥复制到A。 这样,两台主机即可实现互信登录。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值