ssh免密码登录远程服务器

1、Linux无密码访问Linux

应该有很多种方法,介绍一种只需要两步骤就能完成的方法:

1、在自己的Linux系统上生成SSH密钥和公钥

打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.

ssh-keygen -t rsa

2、将SSH公钥上传到Linux服务器

可以使用ssh-copy-id命令来完成.

ssh-copy-id username@remote-server

上传完成后,SSH登录就不需要再次输入密码了。

原理其实是把当前服务器下产生的.ssh/id_rsa.pub 追加写入到要访问的远程服务器中的~/.ssh/authorized_kes文件中。可以配合scp命令来执行。

另外要注意的是,linux是区分用户来进行免登录的,每个用户的公钥和私钥都放在~/.ssh文件中,要区分不同用户的免密码登录,比如有时候给这台机器上的root用户配置了免密码访问服务器,但是user用户的没有配置过就不行。

参考:

SSH无密码登录:只需两个简单步骤 (Linux)

 

2、Windows无密码访问Linux

2.1 对于一般的配置过程,直接参考博客:

windows实现ssh免密登录服务器_windows配置ssh免密登录_杨哥学编程的博客-CSDN博客

2.2 其他使用场景

有这么一种免密码登录的场景,就是当自己已经配置了免密码访问服务器的公钥和私钥,但公司另外给配了其他服务器免密码访问的公钥和私钥,如何配置访问不同服务器时使用不同的公钥和私钥对,解决方式主要是通过配置.ssh文件下的config来实现,设置IdentityFile字段来指定访问不同服务器时使用密钥对的地址,比如:

其中得Host是别名,下面的HostName是ip地址

 

参考:给Git配置多个SSH Key公钥_hostname codeup.aliyun.com-CSDN博客

 

posted @ 2023-05-29 20:08  FreeCheng  阅读(1229)  评论(0)    收藏  举报