linux中设置免密登录远程服务器

使用密钥登录(不使用密码)

1、首先生成密钥,在任意目录下输入命令:

ssh-keygen -t rsa -P ''

-P表示密码,-P ''表示空密码

之后系统会提示输入生成的密钥文件的文件名,可以输入任意名称,比如id_rsa,回车

系统会在当前目录下生成id_rsa与id_rsa.pub两个文件

2、在根目录下新建.ssh文件夹,将生成的密钥文件拷贝过去

mkdir -p ~/.ssh

-p选项表示如果文件夹已经存在则不再新建。

然后将之前生成的两个文件都拷贝到.ssh文件夹中

cp id_rsa* ~/.ssh/

3、把公钥文件id_rsa.pub拷贝到需要登录的服务器上

用scp命令

scp -P port ~/.ssh/id_rsa.pub username@ip_address:~

-P表示要登录服务器的端口好,不加默认为22。

之后系统会提示输入密码,输入即可完成拷贝

4、 登录远程服务器,在用户根目录下新建.ssh文件夹(如果不存在),在其中新建authorized_keys文件(如果不存在),把id_rsa.pub添加到authorized_keys文件中

mkdir -p ~/.ssh

这是在远程服务器上新建ssh文件夹

cat id_rsa.pub >> .ssh/authorized_keys

将id_rsa.pub文件添加到authorized_keys文件中(如文件不存在则新建)

注意:要保证.ssh与authorized_keys用户自己都有写权限

5、退出当前远程登录,之后就可以不使用密码远程登录了

6、可以在环境里面自定义命令,比如设置为“sshterm”,直接登录到远程客户端

https://www.cnblogs.com/plwang1990/p/5279451.html