Ubuntu配置SSH免密码登陆

本文详细介绍如何在Linux系统上安装SSH服务,并通过生成公钥和私钥的方式实现免密码登录。步骤包括安装SSH服务、生成密钥对、设置授权密钥等。

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

1. 安装SSH:
$ sudo apt-get install ssh

2. 查看是否生成目录.ssh:
$ ls -al /home/xsj/

3. 如果没有,手动创建目录.ssh:
$ mkdir /home/xsj/.ssh

4. 生成公、私密钥:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ ssh-keygen -t rsa

5. 将公钥加到用于认证的公钥文件中:
$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
cp ~/.ssh/id_rsa.pub~/.ssh/authorized_keys

6. 验证是否SSH安装成功:
$ ssh -version

7. 免密码登陆:
$ ssh localhost
### 配置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、付费专栏及课程。

余额充值