您的位置:首页 > 运维架构 > Linux

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

2014-12-29 15:53 211 查看
客户端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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: