SSH实现远程控制

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

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

  (1)基于口令的安全验证:通过验证账号与密码便可登陆到远程主机服务器

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

1. sshd服务的重要配置

  cat /etc/ssh/sshd_configspa

#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  // 最大密码尝试次数

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

systemctl start sshd
systemctl enable sshd

2. 密码验证登陆

# ssh 远程服务器IPblog

# yesip

# 输入密码it

# okio

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目录