关于ssh:SSH-Key的生成和使用

5次阅读

共计 2162 个字符,预计需要花费 6 分钟才能阅读完成。

一、查看是否曾经存在 ssh key
通常 sshkey 会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相干目录就行。(~/.ssh/id_rsa)

二、生成 key
在控制台输出:
ssh-keygen -t rsa
Note: -t 的意思是抉择 kye 的 type。别离有 RSA 和 DSA 两种。具体请自行百度
控制台输入如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
(为了防止每次进行 ssh 连贯时都须要输出 passphrase,这里能够不必输出 passphrase。)

当初你的私钥被放在了~/.ssh/id_rsa 这个文件里,而公钥被放在了 ~/.ssh/id_rsa.pub 这个文件里。

三、应用 ssh key
应用 ssh key 的目标是使得两台机器之间建设互信,从其中一台登陆到另一台时不须要明码。具体形式如下:

1、先在主机 A 上创立密钥对
ssh-keygen -t rsa
1
这时能够在主机 A 上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub

2、把主机 A 的公钥放在主机 B 上
scp -r /root/.ssh/id_rsa.pub 192.168.31.147:/root/.ssh/authorized_keys
1
这里解释下 scp 命令:

不同的 Linux 之间 copy 文件罕用有 3 种办法:

第一种就是 ftp,也就是其中一台 Linux 装置 ftp Server,这样能够另外一台应用 ftp 的 client 程序来进行文件的 copy。

第二种办法就是采纳 samba 服务,相似 Windows 文件 copy 的形式来操作,比拟简洁不便。

第三种就是利用 scp 命令来进行文件复制。

scp 是有 Security 的文件 copy,基于 ssh 登录。操作起来比拟不便,比方要把以后一个文件 copy 到近程另外一台主机上,能够如下命令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

而后会提醒你输出另外那台 172.19.2.75 主机的 root 用户的登录明码,接着就开始 copy 了。

3、此时用 A 登陆 B 就不须要明码了
ssh B_ip
1
同理可利用于 B 登陆 A

四、SSH 详解
1、SSH 的构造
SSH 是由客户端和服务端的软件组成的,有两个不兼容的版本别离是:1.x 和 2.x。用 SSH 2.x 的客户程序是不能连贯到 SSH 1.x 的服务程序下来的。OpenSSH 2.x 同时反对 SSH 1.x 和 2.x。

服务端是一个守护过程(daemon),他在后盾运行并响应来自客户端的连贯申请。服务端个别是 sshd 过程,提供了对近程连贯的解决,个别包含公共密钥认证、密钥替换、对称密钥加密和非平安连贯。

客户端蕴含 ssh 程序以及像 scp(近程拷贝)、slogin(远程登陆)、sftp(平安文件传输)等其余的应用程序。

他们的工作机制大抵是本地的客户端发送一个连贯申请到近程的服务端,服务端查看申请的包和 IP 地址再发送密钥给 SSH 的客户端,本地再将密钥发回给服务端,自此连贯建设。SSH 1.x 和 SSH 2.x 在连贯协定上有一些差别。

一旦建设一个平安传输层连贯,客户机就发送一个服务申请。当用户认证实现之后,会发送第二个服务申请。这样就容许新定义的协定能够与上述协定共存。连贯协定提供了用处宽泛的各种通道,有规范的办法用于建设平安交互式会话外壳和转发(“隧道技术”)专有 TCP/IP 端口和 X11 连贯。

SSH 被设计成为工作于本人的根底之上而不利用超级服务器(inetd),尽管能够通过 inetd 上的 tcpd 来运行 SSH 过程,然而这齐全没有必要。启动 SSH 服务器后,sshd 运行起来并在默认的 22 端口进行监听(你能够用 # ps -waux | grep sshd 来查看 sshd 是否曾经被正确的运行了)如果不是通过 inetd 启动的 SSH,那么 SSH 就将始终期待连贯申请。当申请到来的时候 SSH 守护过程会产生一个子过程,该子过程进行这次的连贯解决。

2、SSH 的启动与进行
首先确保 ssh 服务曾经装置

查看服务是否曾经启动
ps -e | grep sshd

启动、进行、重启服务
service sshd start 开启 ssh 服务
service sshd stop 进行 ssh 服务
service sshd restart 重启 ssh 服务
或者应用带有门路的脚本:
/etc/init.d/sshd start
/etc/init.d/sshd stop
/etc/init.d/restart

配置 ssh-server,配置文件位于 /etc/ssh/sshd_config,默认端口为 22,为了平安,个别自定义为其余端口,而后重启
参考链接:
https://sslhow.com/unable-to-…

正文完
 0