ssh介绍和使用--SecureCRT工具和ssh命令使用,以及sshd配置

准备:

window 10系统

centos7 两台

连接方式介绍:

从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令(密码),就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第一次连接,远程主机会询问客户端是否接受公钥,接受后会保存到用户名目录下,这步可能受到“中间人”攻击;
第二种级别(基于密匙的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能比较长。

一、SecureCRT 连centos7

1.口令登录

1)输入账号密码和端口号

2)第一次登录会提示是否接受key(把远程主机列为可信),接受后下次不会提示。然后根据提示输入口令(密码)即可登录。可信的key会保存到用户的.ssh/known_hosts文件里

2.公钥登录

1)通过git或者其他linux机器(ssh-keygen命令)生产秘钥对,把公钥上传到linux并追加到用户主目录~/.ssh/authorized_keys(如果没有.ssh可自行创建)文件里

可以通过rz命令或者直接拖动id_rsa.pub上传到~/.ssh/(注意不要和现有id_rsa.pub冲突了)

# xxx 表示上传的文件,此文件重命名下,以免和对方的秘钥对冲突
cat xxx >> authorized_keys

 2)SecureCRT填好用户账号和端口号,把私密文件导入,如图:

二、两台cnetos7相连

1.口令(密码)登录

1)输入以下指令

# -p 22 指定端口,默认是22时不需要指定,这些只是展示
# root@192.168.1.13, 用户名@ip
ssh -p 22 root@192.168.1.13

第一次登录,远程主机会询问本机是否接受key,输入 yes ,然后再输入密码:

2.通过公钥登录(推荐)

1)通过 ssh-keygen命令生产秘钥对(会有一些交互,都回车即可),密钥对在~/.ssh/目录下

 

2)公钥追加到远程主机authorized_keys

方法一:把公钥上传到另一台机器对应用户~/.ssh/下(如果没有.ssh可自行创建。可通过rsync或scp复制到远程主机,也可以通过sz + rz先下载到windows再上传,等等方式),并追加到authorized_keys

# xxx 表示上传的文件,此文件重命名下,以免和对方的秘钥对冲突
cat xxx >> authorized_keys

方法二:通过口令方式直接让远程执行追加操作

#这是ssh远程执行命令操作,这里是把本机的id_rsa.pub内容重定向追加到用户root主目录~/.ssh/authorized_keys文件里
# 避免远程主机主目录没有.ssh目录,可以把在命令前增加创建目录操作,如'mkdir -p .ssh && cat >> .ssh/authorized_keys'
ssh root@192.168.1.13 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

方法三:还有一种是ssh-copy-id,这里就不做介绍,可自行谷歌或百度,或者参考下面博客:

免密登陆和ssh-copy-id命令解析_hanguofei的博客-CSDN博客_ssh-copy-id

3.简化登录(并不是一种独立登录方式,只是对前面两种登录操作做简化)

尽管是公钥登录,每次登录还是需要输入用户名和ip域名,略显麻烦。可以通过主目录~/.ssh/config文件,配置自己容记得host名用于登录:

 或

 说明:

Host *  -- 下的字段配置在所有配置项中公用

IdentityFile -- 指定私密文件

host -- 自定义host name,用于ssh登录操作

HostName  -- ip或域名

User  -- 登录用户

简化后的指令(sys2 就是你自己为这项登录配置起的name):

三.ssh和sshd配置说明

1)用户主目录~/.ssh/

 id_rsa 和 id_rsa.pub: ssh-keygen生成的秘钥对,分别为秘钥和公钥

known_hosts : 口令方式登录时,所信任的远程主机key

authorized_keys : 其他主机登录本机的公钥,需要手动追加

2)sshd配置目录/etc/ssh/

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。两个配置文件都允许你通过设置不同的选项来改变客户端程序的运行方式

可在sshd_config设置是否开启口令登录,以及远程主机公钥集文件等:

PasswordAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

四、ssh远程执行命令

1)到远程主机执行命令并且结果在本端输入:ssh user@host "df -h"
2)执行远程主机脚本并把结果传给result变量(最好绝对路径):result=`ssh user@host ~/command.sh`
3)到远程主机执行命令并把结果追加到本机当前目录log文件:ssh user@host "pwd" >> ./log

==>详细参考请看最后文献

注意:

1.客户端通过用户名登录等操作,服务端相关配置要在对应目录的主目录下(~/.ssh/),不同用户主目录是不同的(玩linux都懂的,顺便提下);

2.如果运行完命令不会自动退出,需要重定向到/dev/null,如ssh user@host "/data/deploy/work/deploy.sh > /dev/null < /dev/null 2>&1" ;

参考文献:

ssh 远程执行命令_赶路人儿-CSDN博客_ssh 远程执行命令

ssh配置文件详解_weixin_34122604的博客-CSDN博客

SSH协议详解_梦想专栏-CSDN博客_ssh协议

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值