SSH
一、什么是SSH?
? SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
二、SSH基本用法
ssh命令用于远程登录上Linux主机。
常用格式:ssh [-l login_name][-p port] []hostname
更详细参数配置的可以用ssh -h查看
不指定用户,默认使用root账户登录
ssh 192.168.1.163
指定用户
ssh
生成 SSH 公钥
如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥:
$ cd ~/.ssh $ ls
如有以下文件说明你已经有了ssh公私钥
id_dsa id_dsa.pub
生成公钥
首先你得安装git!!!
在本机Git Bash Here中
ssh-keygen # 生成公私钥的命令
Generating public/private rsa key pair. Enter file in which to save the key (/home/schacon/.ssh/id_rsa): #可写可不写 默认私钥文件是id_rsa 建议name_rsa (name自己起的名字) Created directory 'C:\Users\Jack-Roc\.ssh'. # 你的公私钥地址是在用用户的.ssh文件夹中 Enter passphrase (empty for no passphrase): # 可写可不写 输入该私钥的密码 Enter same passphrase again: # 回车 Your identification has been saved in /home/schacon/.ssh/id_rsa. Your public key has been saved in /home/schacon/.ssh/id_rsa.pub. The key fingerprint is: d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3
使用邮箱生成生成公私钥
$ ssh-keygen -t rsa -C "邮件地址@youremail.com"
ssh-keygen是SSH服务下的一个生成、管理和转换认证密钥的命令工具。包括两种密钥类型DSA和RSA
通过公私钥的验证可以使服务器与服务器之间实现无密码通讯。
ssh-keygen常用参数
-t:指定生成密钥的类型,默认使用SSH2d的rsa -f:指定生成密钥的文件名,默认id_rsa(私钥id_rsa,公钥id_rsa.pub) -P:提供旧密码,空表示不需要密码(-P ‘’) -N:提供新密码,空表示不需要密码(-N ‘’) -b:指定密钥长度(bits),RSA最小要求768位,默认是2048位;DSA密钥必须是1024位(FIPS 1862标准规定) -C:提供一个新注释 -R hostname:从known_hosta(第一次连接时就会在家目录.ssh目录下生产该密钥文件)文件中删除所有属于hostname的密钥
http://www.jinbuguo.com/openssh/ssh-keygen.html ssh-keygen详情