SSH实现远程控制

  SSH(Secure Shell)是一种能够提供安全远程登录会话的协议,使用ssh可以在远程linux中执行命令。

  sshd服务提供两种安全验证的方法:

  (1)基于口令的安全验证:经过验证帐号与密码即可登录到远程主机

  (2)基于密钥的安全验证:需要在本地生成“密钥对”后将公钥传输至服务器,进行公共密钥的比较

1. sshd服务的重要配置

  cat /etc/ssh/sshd_config

#Port 22
#ListenAddress 0.0.0.0
#Protocol 2     //ssh协议的版本号
#HostKey /etc/ssh/ssh_host_key // SSH协议版本号为1时,私钥存放的位置
#HostKey /etc/ssh/ssh_host_rsa_key // SSH协议版本号为2时,RSA私钥存放的位置
#HostKey /etc/ssh/ssh_host_dsa_key // SSH协议版本号为2时,DSA私钥存放的位置

#PermitRootLogin   // 设置是否允许root用户直接登录
#StrictModes yes   // 当远程私钥改变时直接拒绝链接
#MaxSessions  10 // 最大终端数
#MaxAuthTries 6  // 最大密码尝试次数

  注意:每次修改配置文件后都应该执行

systemctl start sshd
systemctl enable sshd

2. 密码验证登录

# ssh 远程服务器IP

# yes

# 输入密码

# ok

3. 密钥验证登录

(1)在本地主机生成“密钥对”,并将共钥传输到远程主机中  

  #ssh-keygen

  #ssh-cop-id ip

(2)在远程主机中修改sshd服务的配置文件并重启服务

$PasswordAuthentication no
$PubkeyAuthentication yes
$systemctl start sshd
$systemctl enable sshd

(3)接下来就可以无密码远程主机了

  ssh ip

特别注意:cd ~/.sh目录
原文地址:https://www.cnblogs.com/xiaobingqianrui/p/9369722.html