linux免密码SSH和SCP

本文详细介绍了如何使用ssh-keygen生成SSH密钥,通过scp命令将公钥传输至服务器,并利用cat命令将其添加到服务器的authorized_keys文件中,确保无密码登录。同时,强调了正确设置文件权限的重要性。

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

生成密钥

ssh-keygen -t rsa

把公钥传到服务器

scp .ssh\id_rsa.pub ubuntu@139.199.72.xxx: ubuntu

写入到认证文件

cat id_rsa.pub >> .ssh/authorized_keys

PS:注意权限问题,权限也有可能导致要输入密码

chmod 700 /home/you_name/.ssh 
chmod 600 /home/you_name/.ssh/authorized_keys​​​​​​​

 

转载于:https://my.oschina.net/u/2003520/blog/3001655

### 如何配置Linux SSH免密码登录 #### 默认密钥对生成与使用教程 在Linux系统中,通过SSH(Secure Shell)进行远程操作时,默认情况下需要输入用户名密码来完成身份验证。为了提升效率并增强安全性,可以通过配置SSH免密码登录实现这一过程自动化。 #### 密钥对生成 要在本地计算机上生成SSH密钥对,需打开终端(适用于Linux或Mac操作系统),对于Windows用户则可借助Git Bash工具。执行如下命令以创建基于RSA算法的密钥对: ```bash ssh-keygen -t rsa ``` 此命令会提示指定保存私钥的位置及设置访问该私钥所需的通行短语(passphrase),如果希望完全无交互式的自动登录,则留空passphrase即可[^1]。 #### 设置服务器端信任客户端公钥 一旦成功生成了密钥对之后,下一步就是让目标SSH服务器能够识别来自特定客户的连接请求而不必每次都询问密码。这一步骤涉及将之前生成的`id_rsa.pub`(即public key)追加至远端主机上的相应用户的`.ssh/authorized_keys`文件内。具体方法如下所示: 假设已经有一份名为`filename.pub`的公钥文件准备好了,那么可通过SCP或者其他手段将其上传到远程机器,并按照下面的方式处理: ```bash cat filename.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ``` 上述指令实现了两件事情:一是把新的公钥添加到了授权列表里;二是调整权限确保只有拥有者才能读取这个重要文档的内容[^3]。 另外需要注意的是,在某些特殊场景下可能还需要清理已有的缓存记录以免造成冲突,比如当遇到IP地址变更等情况时,可以考虑移除`~/.ssh/known_hosts`文件里的相关内容项[^2]。 至此就完成了基本的SSH免密登录配置流程,现在应该可以从本地无缝地连接到设定好的远程节点而不再被要求提供额外的身份凭证了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值