一、查看是否曾经存在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-...