SSH
SSH客户端 全称:Secure Shell ,secure shell 协议连接到远程计算机的软件程序。
SSH 专为远程登录会话和其他网络服务 提供安全的协议。
SSH优点:
- 有效防止远程管理过程中的信息泄露。
- 对所有传输的数据进行加密,并且能防止 DNS 欺骗和 IP 欺骗。
- 且传输的数据是压缩的,加快了传输速度。
在linux中 SSH 是一个款常用的软件,通过 SSH客户端 可以连接到正在运行中 SSH服务器 的远程电脑上。
SSH服务器端口号:
SSH服务器的默认端口号是 22 ,如果是默认的端口号,在连接服务器的时候,可以忽略。
SSH客户端的使用:
ssh [-p port] user@remote
- user :指远程电脑上的用户名,如果不指定默认当前用户。
- remote :指远程电脑上的地址,IP或域名 。
- port :SSH Server 监听的端口 ,如果不指定就默认为 22 。
使用提示:
- exit 退出当前用户的登录。
- ssh 只能在 Linux和Unix 系统下使用。
- 如果在 Windows 系统各种使用,需要安装 XShell或PuTTy 客户端软件才可以使用。
- 有时 SSH服务器 的端口号有可能 不是22 ,如遇此情况需要使用 -p 选项,指定SSH服务器的端口号,否侧无法连接到服务器。
作者使用时就遇到 Ubuntu 系统没有安装 SSH服务器 以及 Ubuntu 系统没有启动 ssh-server ,导致出现问题。解决方案如下:
需要安装 SSH 服务器,执行如下命令:
sudo apt install openssh-server
启动 SSH服务器 ,执行如下命令:
ssh-server start
测试系统是否开启 SSH服务 :
sudo /etc/init.d/ssh start
SCP
SCP :全称( secure copy),Linux下的 远程拷贝文件 命令。
地址格式与 SSH 基本相同,注意 :在指定端口是用的时大写的 -P 。
选项 | 含义 |
---|---|
-r | 如给出的源文件时目录文件,则 scp 将递归复制该目录下的所有子目录和文件,目标文件必须是个目录名 |
-P | 如远程SSH服务器的端口不是22,需要使用大写字母 -P 选项指定端口 |
代码格式:
scp [-P port] [-r] 源文件或目录地址 目标文件或目录地址
scp -r user@remote:Desktop/test test
scp -P 99 test.txt user@remote:Desktop/test
把本地当前目录下的 1.txt 文件 复制到 远程 家目录下的 Desktop/1.txt
scp -P port 1.txt user@remote:Desktop/1.txt
注意 :‘: ’后面的路径不是绝对路径,则以用户的家目录作为参照路径。
示例:
* -r* 传送文件夹
scp -P port 1.txt user@remote:Desktop/1.txt
示例:
把远程 家目录下的 Desktop/ssh.txt 复制到 本地目录下的 ssh.txt
scp -P 22 user@remote:Desktop/ssh.txt ssh.txt
示例:
把远程 家目录下的Desktop/test文件夹 复制到 本地目录下的
test1 文件夹
scp -r -P 22 user@remote:Desktop/test test1
示例:
windows使用FTP传输文件需要安装 FileZilla 软件 。注意该软件的端口号为 21 。
SSH 高级使用
注意 : 有关SSH配置信息保存在家目录下的* .SSH* 下,. 开头为隐藏文件,查看需要加上 -a 。
连接远程示例 :
known_hosts :主要是保存了连接主机的信息。
免密码登录
ssh-keygen
步骤 :
1、配置公钥,ssh-keygen ,接下回车即可。
2、上传公钥给服务器,ssh-copy-id -p port user@remote ,此命令让远程服务器记住了我们的公钥。
生成加密/解密文件的命令图示:
重新远程电脑,不再需要密码登录,图示:
配置别名
使用 ssh 名称自定义 需要在 ~/.ssh/config (.ssh文件夹里面如没有config 文件 ,就创建一个 config 文件) 追加如下内容:
Host mac(可以自定义)
HostName ip地址
User users
port 22
保存,就可以使用 ssh mac 实现远程登录以及 scp 复制文件和文件夹。