OpenSSH是SSH协议的免费开源软件,提供该协议的软件还有Telnet。
软件名称:Openssh-server
作用:让对方远程连接自己的主机。ssh未开启,其他主机无法连接自己,但自己可以连接其他主机,即ssh软件限制的是其他软件,而非本主机。

配置文件: /etc/ssh/sshd_conf
默认端口:22
客户端命令:ssh

查询该软件是否安装的命令

[root@workstation ~]# rpm -qa | grep openssh

CENTOS禁用OPENSSL加密算法_CENTOS禁用OPENSSL加密算法

利用SSH命令连接真实主机和虚拟机

  1. 打开虚拟机,进入root用户
  2. 进入管理网络连接的编辑器
    [root@workstation ~]# nm-connection-editor
  3. 删除原来的网络xxxxzzzz(方法:单击左下角的-符号,,在弹出的对话框中单击delete)
  4. 新建一个网络
    (1).单击左下角的+符号,然后在弹出的对话框中单击Create (2).新建一个网络名,在此处我命名为xxxxzzzz;Device选择默认的值。

    (3).在菜单栏选择IPv4 Settings,将Method修改为manual

    (4).在Address栏单击Add,添加新的IP地址、掩玛。
    注意:网关虽然不填写,但是需要单击一下,否则无法保存。
  5. 保存。
  6. 返回到shell中,可以看到在nm-connection-editor下面自动出现一系列配置语句
  7. 在虚拟机ping真实主机的ip
  8. 在真实主机ping虚拟机的ip
  9. 在虚拟机利用ssh连接真实主机

    连接成功!!!

注意:如果是首次连接一个ip地址,需要进行身份认证。

为了模拟首次连接,先删除根目录下的.ssh文件。

[root@workstation ~]# ls -a            ##在根目录下查看所有文件
.                .bashrc    Downloads      original-ks.cfg  Templates
..               .cache     .esd_auth      Pictures         Videos
anaconda-ks.cfg  .config    .ICEauthority  .pki
.bash_history    .cshrc     .local         Public
.bash_logout     Desktop    .mozilla       .ssh
.bash_profile    Documents  Music          .tcshrc
[root@workstation ~]# rm -fr .ssh/     ##删除.ssh文件
[root@workstation ~]# ls -a           ##再次查看根目录下所有文件(.ssh文件已被删除)
.                .bash_profile  Desktop        .local           .pki
..               .bashrc        Documents      .mozilla         Public
anaconda-ks.cfg  .cache         Downloads      Music            .tcshrc
.bash_history    .config        .esd_auth      original-ks.cfg  Templates
.bash_logout     .cshrc         .ICEauthority  Pictures         Videos

使用ssh命令进行远程连接。(首次需要认证,第二次仅需密码即可登陆)

[root@workstation ~]# ssh root@172.25.254.62       ##第一次连接
The authenticity of host '172.25.254.62 (172.25.254.62)' can't be established.
ECDSA key fingerprint is SHA256:1H1ZWRXiMfZdzo+i5q3ohcZogZ0gkgCbiaDCQzac46c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.62' (ECDSA) to the list of known hosts.
root@172.25.254.62's password: 
Last login: Tue Jan 21 00:56:57 2020 from 172.25.254.162
[root@foundation62 ~]# exit
logout
Connection to 172.25.254.62 closed.
[root@workstation ~]# ssh root@172.25.254.62      ##第二次连接
root@172.25.254.62's password: 
Last login: Tue Jan 21 01:02:36 2020 from 172.25.254.162
[root@foundation62 ~]#

如果执行ssh -l root ip地址时,返回ssh:connect to host ip地址 port 22:No route to host,则需要查看火墙是否允许ssh。(哪一边连不上关闭那一边的火墙)。

ssh命令

使用ssh连接远程用户的命令

1. ssh -l 远程用户名 ip地址
2. ssh 远程用户名@ip地址

查看主机被哪些用户登陆过

  1. 首先在workstation中执行w -i命令
  2. CENTOS禁用OPENSSL加密算法_bash_02

  3. 此时,显示仅有一个主机连接了root用户。
  4. 用真实主机远程登录workstation里的root用户,然后在workstation中执行w -i命令。
  5. CENTOS禁用OPENSSL加密算法_ip地址_03

  6. 比之前多了一个用户,它的ip地址是 真实主机的地址。

后台运行

在真实主机登陆虚拟机的root用户,然后执行gedit命令

CENTOS禁用OPENSSL加密算法_root用户_04


可以发现shell被占用,要令执行远程命令时不占用本地shell,可以使命令在后台执行。

CENTOS禁用OPENSSL加密算法_CENTOS禁用OPENSSL加密算法_05


可以看到,此登陆方式不占用本地shell,但仅完成gedit命令,之后自动退回本地主机,不用执行exitlogout命令。

另外,此登陆方式最后必须加上要在后台运行的命令,否则会报错:

CENTOS禁用OPENSSL加密算法_ip地址_06