linux环境下不需要手工输入密码就能SSH登录到服务端B

客户端A,要求不需要手工输入密码就能SSH登录到服务端B,怎样才能完成呢?我是小白,一点儿都不懂,搞了一个礼拜成功了,中途还根据网络上的资料,改了配置文件,大家该配置文件的时候要小心啊,一定记得备份,不然就得像我一样,瞎搞3,4天,大哭。下面是操作流程:

一、首先服务端配置

1.从目录/etc/或/etc/ssh/或/etc/conf.d/中找到sshd_config文件,并用vi编辑器打开

2.启用RSAAuthentication和PubkeyAuthentication,并同时指定authorized_keys文件位置,设置如下:

PermitRootLogin yes

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile     .ssh/authorized_keys

PasswordAuthentication no/yes(私钥是否需要密码根据需要调整)

 

3.更新并保存sshd_config文件后,运行命令“servicesshd restart”重新启动服务。

 

 

 

二、切换可以避免密码输入和ssh认证。以下将创建过程简单介绍下。

 

1.用ssh-keygen创建公钥

vivian@ubuntu:/$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key(/home/vivian/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/vivian/.ssh/id_rsa.

Your public key has been saved in/home/vivian/.ssh/id_rsa.pub.

The key fingerprint is:

b6:49:b0:02:6e:8b:cb:c4:b7:f6:22:8f:00:cf:b8:2avivian@ubuntu

The key's randomart image is:

+--[ RSA 2048]----+

|                 |

|                |

| .   .          |

| . .  o         |

|. o . . S        |

|o* . . o o       |

|+o+.   o        |

|E+oo.            |

|*o+oo.           |

+-----------------+

##输入后,会提示创建.ssh/id_rsa、id_rsa.pub的文件,其中第一个为密钥,第二个为公钥。过程中会要求输入密码,为了ssh访问过程无须密码,可以直接回车。

2.查看钥匙。

[vivian@ubuntu.ssh]# ls ~/.ssh/

id_rsa id_rsa.pub  known_hosts

 

###可以发现 ssh目录下的两枚钥匙。

3.将公钥复制到被管理机器上面

[vivian@ubuntu .ssh]# vivian@ubuntu:/$ ssh-copy-id -i~/.ssh/id_rsa.pub  vivian@121.41.119.146(也可用scp命令,但是要记得改变文件的权限)

vivian@ubuntu:/$ cat id_rsa.pub >> ~/.ssh/authorized_keys(将id_rsa.pub 的内容放入~/.ssh/authorized_keys文件中

4.访问

# ssh vivian@121.41.119.146

The authenticity of host '<Game2>(<121.41.119.146>)' can't be established.

RSA key fingerprint is34:b9:92:06:53:e6:91:4d:47:92:73:57:78:6a:5d:09.

Are you sure you want to continueconnecting (yes/no)?yes

Warning: Permanently added '<Game2>(<121.41.119.146>' (RSA) to the list of known hosts.

 

这是因为首次访问后,ssh会在.ssh/known_hosts中保存各个认证过的主机信息:

121.41.119.146 ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAppStzIRxeFn0e737z7KO1tdm6CJUoLapaaoBDZqHy0Z11cUAmpg02dbrqwU7TBY9lDFwWQcry+W8X8qk1CoPdzu8YcMCpw5425mai0/RxkB/RPZ1putL2DQrRBMRTU1m5meLOYRXYlnU5E+YElCgH+ZJ8EXiurOzDvw6vi7pASi9wMQuJosFyNmv5E9/8ULgaKg3LtvP+0O1wPxrHOBDwVq2u9Oi7T2pX8deBEnOI4uG4CGXn/p0ml+uuS4DO3Up2VjqoRtqtuzWExnTyAGS/wQNnN3mera1ERya3FomEVHJRV5K2zJRkgSF8WfETXzQ2rAliOsW/YLTGF8vVvjo5w==

5.再次访问,ssh登录发现可以不用密码登录。

结果就是这酱紫啦:


 

简化的步骤:

总归起来,就3步:

vivian@ubuntu:/$ ssh-keygen -t  rsa


vivian@ubuntu:/$ ssh-copy-id -i ~/.ssh/id_rsa.pub  vivian@121.41.119.146

vivian@ubuntu:/$ cat id_rsa.pub >> ~/.ssh/authorized_keys


vivian@ubuntu:/$ ssh vivian@121.41.119.146



提醒:当然在使用ssh之前要安装,要安装ssh服务了。

sudo apt-get install openssh-server

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值