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详情

相关推荐