SSH:Secure Shell Protocol 。SSH是远程连接,管理Linux机器的服务,属于TCP/IP协议簇,传输过程中,数据是加密的,默认端口22。
SSH服务端的功能包括SSH远程连接和SFTP服务等
1 | rpm -ql openssh-server # 查看ssh服务端的重要内容,以下仅列出常用 |
SSH客户端包括ssh远程连接命令、scp远程拷贝命令、sftp连接命令等。
1 | rpm -ql openssh-clients # 查看ssh客户端命令,以下是常用命令 |
另外还有openssl软件包,负责加密的相关命令和服务。
SSH相关命令
远程连接主机
1 | ssh -p 端口号 用户名@主机IP # 远程连接主机的命令 |
远程执行命令
1 | ssh 主机IP 命令 # 默认root连接 |
SCP相关命令
SCP类似于rsync,分为推和拉两个动作,命令也和rsync比较相似。区别是SCP 是加密和全量。
scp选项
1 | -P 指定端口 |
scp推送
1 | scp -P 22 -rp [本地目录] 用户名@主机IP:[远程目录] |
scp拉取
1 | scp -P 22 -rp 用户名@主机IP:[远程目录] [本地目录] |
SFTP相关命令
SFTP是加密的FTP服务,区别是加密,以及SFTP的缺点是默认不能锁定某个目录。
常用的图像化sftp软件:winscp,flashftp
sftp连接
1 | sftp -oPort=端口号 用户名@主机IP # SFTP远程连接 |
sftp上传和下载
1 | put "/etc/host" # 上传本地文件到远端的家目录 |
优化ssh配置
1 | vim /etc/ssh/sshd_config # 编辑ssh服务端配置文件,以下配置可以优化 |
防止Linux SSH入侵
1 | 1. 使用密钥登录,不用密码登录 |
客户端
1 | ssh-kergen # 生成私钥和公钥文件,如有必要可设置私钥密码(自定义,加强私钥安全性) |
服务端
1 | ls /root/.ssh # 查看客户端发来的公钥文件 authorized_keys,权限为600,/root/.ssh 文件夹权限为700 |
Xshell使用密钥连接服务器
1 | 工具-->新建用户密钥生成向导-->在服务器的/root/.ssh目录下新建 authorized_keys 文件,将生成的公钥复制进去-->将登录方法改为public key |
当一台管理机需要管理数量众多的机器时,可以使用ssh远程连接并批量管理,比如:
重启所有机器
1 | vim /server/scripts/cmd.sh # 新建一个脚本文件,添加以下内容 |
分发文件
1 |
|