Linux(Ubuntu)ssh免密码登陆

本文详细介绍如何通过生成密钥文件、复制公钥、追加公钥到authorized_keys文件等步骤实现SSH免密登录。文章指导用户进行本地测试并完成远程节点的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.生成密钥文件

xx@ubuntu:/root$ ssh-keygen -t rsa  按Enter按到最后,生成密钥文件

2.copy文件(必须的过程)

注意空格!

xx@ubuntu:/root$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys

3.查看文件

xx@ubuntu:~$ cd .ssh 
xx@ubuntu:~$ ls -al 

查看文件 会有三个文件(authorized_keys、id_rsa、id_rsa.pub)

4. 测试本地是否可以无密码登录

(如果这一步都不行,那不要做后面的步骤了)

xx@ubuntu:~/.ssh$ ssh localhost  

5.copy到节点中

(把xx中的id_rsa.pub拷贝到次节点yy中,yy@ip_address yy是你的登录名,ip_address是IP地址)

xx@ubuntu:~/.ssh$ scp id_rsa.pub yy@ip_address:home/yy 

6.把公密匙追加到authorized_keys

yy@ubuntu:~$ cat id_rsa.pub >> .ssh/authorized_keys

7.测试

在xx中, 测试是否登录yy!

ssh yy@ip_address

测试结果,可以免密码登陆啦。

### 配置Linux系统通过SSH实现免密码登录到VMware中的Ubuntu虚拟机 为了实现在Linux主机上对VMware中运行的Ubuntu虚拟机进行无密码SSH登录,可以按照以下方法操作: #### 创建SSH密钥对 在Linux主机上生成一对SSH密钥(公钥和私钥)。如果尚未创建过SSH密钥,则可以通过`ssh-keygen`工具完成此过程。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会提示指定保存位置,默认路径为`~/.ssh/id_rsa`及其对应的公钥文件`id_rsa.pub`。如果没有特殊需求,可以直接按回车键接受默认选项[^1]。 #### 将公钥复制至目标Ubuntu虚拟机 利用`ssh-copy-id`命令或者手动方式把生成好的公钥传输并追加进Ubuntu用户的授权密钥列表里。 ##### 方法一:使用 `ssh-copy-id` 这是最简便的方式之一,只需一条指令即可完成整个流程。 ```bash ssh-copy-id user_name@virtual_machine_ip_address ``` 替换其中的`user_name`为目标Ubuntu系统的用户名,而`virtual_machine_ip_address`则是该虚拟机分配的实际IP地址,通常类似于`192.168.x.x`这样的局域网内部地址[^2]。 ##### 方法二:手动添加公钥 当无法直接运用`ssh-copy-id`时,可以选择如下步骤来达成相同效果: 1. 登录到Ubuntu虚拟机; 2. 执行下列脚本来导入来自本地机器上的公钥内容。 ```bash cat ~/.ssh/id_rsa.pub | ssh fly@192.168.23.133 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ``` 这里假设源端已经存在名为fly的账户,并且其具有相应的权限去修改`.ssh`目录结构及写入数据[^3]。 #### 测试连接 最后一步就是验证是否成功设置了无密码认证机制。尝试再次发起SSH请求而不需提供任何额外参数即应能够顺利进入远程终端界面。 ```bash ssh user_name@virtual_machine_ip_address ``` 如果一切正常的话,在首次建立链接后就不会再弹出询问密码对话框了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值