频道澳门葡京手机版网址
登录注册
澳门葡京手机版网址 > 系统 > Linux > 正文

SSH免密码登陆设置实例教程

2018-08-13 09:35:56      个评论      
收藏   我要投稿

1SSH原理

SSH 为 Secure Shell 的缩写,安全Shell网络协议,用于计算机之间的加密登录,早期的计算机之间采用明文通信,通信信号被截获以后,内容即被截获一方掌握。1995年,芬兰学者Tatu Ylonen设计了SSH协议对登陆信息进行加密,称为互联网安全的标准解决方案。 有了加密措施,大家就可以确保通信的时候内容不会被第三方窃取。

SSH作为一种协议,有多重实现方案。目前Ubuntu的desktop系统会默认安装OpenSSH的client端,在Windows系统中,可通过开源AppPuTTY实现SSH通信。

2ssh安装

sudo apt-get install openssh-server

3ssh远程登录

SSH主要用于远程登录。假定你要以用户名user,登录远程主机host,只要一条命令即可。可通过-p参数设定端口号(22是默认端口)。
ssh -p 22 user@host
在没有设置免密码登陆时,需要通过密码登陆。
如果你是第一次登录对方主机,系统会出现下面的提示:

The authenticity of host 'host (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)

提示无法确认host主机的真实性,只知道它的公钥指纹,还想继续连接吗?
所谓”公钥指纹”,是指对公钥(RSA算法公钥长度1024位)进行MD5计算,转换成128位的指纹,即
98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d,容易进行比较。由于用户无法知道远程主机的公钥指纹,需要主机主动提供,才能进行必比对。
经过风险衡量以后,用户决定接受这个远程主机的公钥,则需输入yes。
系统会出现一句提示,表示host主机已经得到认可。

Warning: Permanently added 'host,12.18.429.21' (RSA) to the list of known hosts.

提示输入密码。

Password: (enter password)

如果密码正确,就可以登录了。
当远程主机的公钥被接受以后,会在文件$HOME/.ssh/known_hosts中保存。下次再连接这台主机,系统认出公钥已经保存在本地,跳过警告部分,直接提示输入密码。
每个SSH用户都有自己的known_hosts文件,系统在/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机公钥。

4创建SSH key

如果经常输入密码会显得比较麻烦,可以通过让主机记录公钥来实现免密码登陆。这里首先要创建公钥。
命令为:

ssh-keygen -t [rsa|dsa] –C [Comments] -t = The type of the key to generate 

密钥的类型,加密方式选 rsa|dsa均可以,默认dsa
-C = comment to identify the key 用于识别这个密钥的注释
命令实例为:

pi@raspberrypi:~/Desktop/LD_current $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
The key fingerprint is:
74:cc:78:e7:4e:c0:8f:82:b6:30:15:53:21:66:be:3c pi@raspberrypi
The key's randomart image is:
+---[RSA 2048]----+
|      *.o.       |
|     + + =       |
|      o o B .    |
|     o + o *     |
|    o E S . +    |
|     + o . o     |
|      .     .    |
|                 |
|                 |
+-----------------+ 

进入“.ssh”会生成以下几个文件
authorized_keys:存放远程免密登录公钥,通过该文件记录多台机器的公钥;
  id_rsa:生成的私钥文件
  id_rsa.pub:生成的公钥文件
  know_hosts:已知的主机公钥清单

pi@raspberrypi:~ $ cd .ssh
pi@raspberrypi:~/.ssh $ ls
id_rsa  id_rsa.pub  known_hosts 

如果希翼ssh公钥生效需满足至少下面两个条件:
ssh目录的权限必须是700
ssh/authorized_keys文件权限必须是600

5拷贝公钥到远程主机

命令:ssh-copy-id -i ~/.ssh/id_rsa.pub
-i参数可采用默认项。

pi@raspberrypi:~/.ssh $ ssh-copy-id git@192.168.1.104
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
git@192.168.1.104's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'git@192.168.1.104'"
and check to make sure that only the key(s) you wanted were added. 

现在大家就可以不需要输入密码登录了。

pi@raspberrypi:~/.ssh $ ssh git@192.168.1.104
Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-29-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

1 个可升级App包。
1 个安全更新。

Last login: Thu Aug  2 00:44:40 2018 from 192.168.1.107
git@wpr:~$
上一篇:阿里云轻量服务器应该如何上传本地网页
下一篇:如何去搭建mysql的环境
相关文章
图文推荐

关于大家 | 联系大家 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 澳门葡京手机版网址_澳门新莆京娱乐_www.88807.com - 点此进入--致力于做实用的IT技术学习网站

XML 地图 | Sitemap 地图