Linux ssh免登陆操作

2023年 8月 29日 27.8k 0

一、目标

有两台机器
A主机(192.168.1.11)
B主机(192.168.1.22)
A主机需要免密登录B主机

二、生成秘钥

登录A主机

# 生成秘钥
ssh-keygen
# 一路回车后,会在/你的用户目录/.ssh/下生成两个文件
ll -a ~/.ssh/
id_rsa(私钥) id_rsa.pub(公钥)

三、上传公钥到B服务器

# root是B主机的用户名,然后还需要输入B主机的密码
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.22

正常情况下B主机主机中
/~/.ssh/ 目录下应该生成 authorized_keys

四、测试

# 在A主机中执行
ssh root@192.168.1.22
# 如果成功即可直接登录,否则需要输入密码

五、填坑

1、如果没有成功,可能是B主机中的/~/.ssh/目录权限不可写入
解决:chmod 755 ~/.ssh/authorized_keys
2、如果权限不可修改(Linux为了防止被误修改或删除)

防止关键文件被修改:
  chattr +i authorized_keys
如果需要修改文件则:
  chattr -i authorized_keys

3、也可以手动复制公钥到B主机中(~/.ssh/),但是一定要保证authorized_keys的权限是600(-rw-------)

B机器authorized_keys的路径,如果不是/root/.ssh/authorized_keys,则ssh root@192.168.1.11行不通的,要换对应的用户才能连接成功。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论