1:概念
linux中ssh是“Secure Shell”的缩写,是建立在应用层和传输层基础上的一种安全协议,用于计算机之间的加密登录;ssh既可以远程联机服务器,又可以借助ssh协议来传输数据,提供更安全的SFTP服务。我们可以通过ssh来远程控制我们的电脑或者服务器
它的命令格式是👉 ssh [-p port] user@remote
user 是在远程机器上的用户名,如果不指定的话默认为当前用户
remote 是远程机器的地址,可以是IP/域名,或者是别名
port 是SSH Server监听的端口,如果不指定,就为默认值22
(使用exit退出当前用户的登录)
有关SSH配置信息都保存在用户家目录下的.ssh目录下
2:cd指令
3、通过远程连接服务器
ssh user1@192.168.10.1
用户名 IP地址或者域名
4、使用密钥登录
4.1 进入到root目录下,运行
ssh-keygen,三个回车
第一?询问你保存在什么位置 Enter file in which to save the key(root/.ssh/id_rsa)
第二?询问你密钥保护 Enter passphrase
第三?再次输入相同的密码 Enter same passphrase again
4.2 查看密钥生成目录文件
cd /root
cd .ssh
ls
产生两个文件
id_rsa(私钥文件) id_rsa.pub(公钥文件)
复制这个文件到root用户
ssh-copy-id root@192.168.10.1
后面在通过SSH 连接root 用户不在需要输入密码~
5、修改SSH默认端口号
5.1 修改配置文件
@切换至root用户:su root
@进入到ssh目录下:cd /etc/ssh (ssh_config 客户端配置文件)(sshd_config 服务端配置文件)
@修改服务端sshd_config 配置文件:
1、vim sshd_config
2、自定义端口 (例如:10086)不能现有的端口发生冲突;
3、保存 wq
5.2 设置selinux
@查看ssh 运行的端口号:semanage port -l | grep ssh ; semanage(管理)
@修改ssh端口号: semanage port -a -t ssh_port_t -p tcp 10086 ; -a 添加 -t 类型 -p 协议
@查看ssh端口号是否修改成功:semanage port -l | grep ssh ;
5.3 设置防火墙
@在防火墙中开启自定义端口(10086):firewall-cmd --permanent --add-port=10086/tcp ;
(永久)
@重新加载防火墙:firewall-cmd --reload
@重启sshd服务,立即生效:systemclt resatart sshd
5.4 测试验证
@正常SSH是无法连接上的:ssh root@192.168.10.1 ;报错 SSH:connect to host 192.168.10.1 port 22:Connection refused;
@需要通过ssh -p 10086 root@192.168.10.1 连接
6、 通过别名登录
1、在Home目录下的.ssh文件,创建一个config文件
2、编辑config文件如下:
Host Lou1s #设置主机别名
HostName 192.168.20.123 #IP地址
User user1 #用户名
Port 22 #端口号
7、远程复制
远程复制到本地桌面:SCP -P 22 user@172.168.8.8:DESKTOP/1.PY .
本地桌面复制到远程:SCP -P 22 1.PY user@172.168.8.6:DESKTOP