ssh设置免密登录linux
时间: 2025-01-04 11:34:07 浏览: 9
### 设置SSH免密登录Linux的方法
#### 生成SSH密钥对
为了实现无密码SSH通信,需要先在本地服务器上生成一对SSH密钥——公钥和私钥。这一步骤确保了后续连接的安全性和便捷性[^1]。
```bash
ssh-keygen -t rsa
```
此命令会在用户的`.ssh`目录下创建默认名为`id_rsa`的私钥文件及其对应的公钥文件`id_rsa.pub`。如果希望指定不同的名称或路径,则可以在上述指令后附加参数来完成定制化需求。
#### 复制公钥至目标服务器
接着要做的就是将刚刚产生的公钥添加到远程服务器上的授权列表里去。具体来说,即是把本机生成的公钥内容追加进远端机器相应账户下的`.ssh/authorized_keys`文件之中[^2]:
```bash
cat ~/.ssh/id_rsa.pub | ssh username@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
```
这里假设用户名为`username`,而对方主机地址则表示成`remote_host`的形式。这条语句的作用在于通过管道符(`|`)传递本地公钥数据给另一侧,并在那里执行必要的写入动作以达成共享目的。
#### 权限校验与调整
考虑到安全性因素的影响,还需确认并适当修改涉及的关键位置访问控制属性。对于个人用户而言,通常建议设定如下所示的标准模式位组合[^4]:
```bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
这两条更改分别针对整个隐藏子目录本身以及内部存储有信任凭证的具体文档实施保护措施,从而避免潜在风险的发生几率。
#### 测试验证连通状况
最后便是实际测试阶段,即尝试不带任何额外认证信息的情况下能否顺利建立起跨设备间的交互通道。正常情况下只需输入简单的`ssh target_user@target_ip`即可成功进入对面环境当中[^5]。
```bash
ssh remote_username@remote_server_address
```
一旦顺利完成以上各环节的操作流程之后,便意味着已经实现了预期效果,即两台或多台Linux系统间基于SSH协议框架之下的无缝对接机制构建完毕。
阅读全文