导图社区 ssh、telnet
linux技术思维导图,包括:概念、配置文件、解读命令、常用、搭建sftp服务器,特定用户访问限制到特定目录、Telnet。
编辑于2023-01-28 22:46:28 江苏省是不是被各种减肥套路忽悠的不行?花了海量冤枉钱还没有效果?哈哈! 这份脑图,可以让你真正认识什么是减肥,减肥的核心运行机制,以及如何减肥。建立真正的减肥知识体系! 讲真,当今世界,减肥是太多人的诉求了,但网上乱七八糟,五花八门的减肥方法只讲了“术”,没有讲“道”,知识体系没有建立起来之前,你将被各种坑。当然,当你成功减肥后,形象彻底大换血,与换人没有区别!穿什么都好看!各种俊男美女勾引的目光!当然你自己也成为了俊男美女,同学朋友路人的眼光将变得特别友善!你会得到一个全新的世界!哈哈!
linux技术 scp,secure copy,基于ssh登陆进行的安全远程拷贝命令。 注意!确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
linux技术思维导图,包括:概念、配置文件、解读命令、常用、搭建sftp服务器,特定用户访问限制到特定目录、Telnet。
社区模板帮助中心,点此进入>>
是不是被各种减肥套路忽悠的不行?花了海量冤枉钱还没有效果?哈哈! 这份脑图,可以让你真正认识什么是减肥,减肥的核心运行机制,以及如何减肥。建立真正的减肥知识体系! 讲真,当今世界,减肥是太多人的诉求了,但网上乱七八糟,五花八门的减肥方法只讲了“术”,没有讲“道”,知识体系没有建立起来之前,你将被各种坑。当然,当你成功减肥后,形象彻底大换血,与换人没有区别!穿什么都好看!各种俊男美女勾引的目光!当然你自己也成为了俊男美女,同学朋友路人的眼光将变得特别友善!你会得到一个全新的世界!哈哈!
linux技术 scp,secure copy,基于ssh登陆进行的安全远程拷贝命令。 注意!确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
linux技术思维导图,包括:概念、配置文件、解读命令、常用、搭建sftp服务器,特定用户访问限制到特定目录、Telnet。
ssh
概念
SSH(Secure Shell Protocol)。数据传输过程中会加密,保证了传输安全。当前用的安全协议版本为SSH2。
服务端功能
1、远程链接
2、类似FTP的sftp-server(safe ftp)。
客户端功能
1、ssh连接命令
2、远程拷贝scp命令
软件组成
openssh:远程连接
openssl:加密
ssh配置文件
/etc/sshd:服务端
/etc/ssh:客户端
ssh建立连接
公钥是锁,私钥是钥匙。
服务器:(A) 客户端:(B)
A和B建立密码连接
A通过RSA加密算法生成768bit临时公钥。B请求连接A(ssh 10.0.0.61),A将临时公钥给B。
B将公钥与自己存储的(~/.sh/known_hosts)公钥比对是否一致,如果没有,提示are you sure you want to continue connecting(yes/no),yes后保存公钥到known_hosts(authorized_keys存放远程连接主机的公钥,一行一个公钥,权限为600)文件中。储藏后B再利用公钥加密密码(输入密码)生成密文,发给A。
A用私钥解密,解密密码与B的登陆密码比对,正确则登陆。
之后A和B每次数据传输利用diffie-Hellman机制检查数据来源是否正确,避免插入恶意代码(SSH version 2)。
A和B使用密钥连接(免密登陆)
基于密钥验证
1、事先B上建立密钥对。(命令:ssh-keygen,一路回车)
2、私钥(/root/.ssh/id_rsa)放在B上,将公钥(/root/.ssh/id_rsa_pub)传到A上指定位置。(命令:ssh-copy-id -i id_rsa.pub 192.168.199.21)
B发送连接请求,并带上自己的公钥。A收到后,检查授权列表有没有B公钥,有的话生成随机字符串challenge,用公钥加密发给B。
B收到加密密文,私钥解密后生成challenge返给A。
A收到结果,和自己发的challenge比对一下,一摸一样则允许连接。
配置文件解读
port //ssh进程监听的端口号,默认22
ListenAddress 172.16.1.61 //监听本地网卡此地址。
permitEmptyPasswords:是否允许空密码用户登陆。建议配置为no。permitRootLogin:是否允许root登陆。默认yes。
解决ssh连接慢
GSSAPIAuthentication no UseDNS noUseDNS 打开下,当客户端登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS,PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,建议关闭。
GSSAPI ( Generic Security Services Application Programming Interface) 是一套类似Kerberos 5的通用网络安全系统接口。但该接口在目标机器无域名解析时会有问题。建议关闭。
命令
重启ssh服务
/etc/init.d/sshd restart
服务端配置文件
ll /etc/ssh/sshd_config
自启动,一般开启3,4,5
chkconfig --list|grep 3:on
平滑重启
/etc/init.d/sshd reload
ssh客户端命令
子主题
子主题
子主题
子主题
常用
ssh -v 1.1.1.1 -p 22
开启多端口访问ssh
#修改配置文件 /etc/ssh/sshd_config,添加监听代码: ListenAddress 0.0.0.0:22 ListenAddress 0.0.0.0:23 ListenAddress 0.0.0.0:24
重启服务
systemctl restart sshd.service
#可看到22,23,24端口监听
避免通过ssh入侵
1、使用密钥登陆,不使用密码登陆。
2、防火墙ssh端口号控制。
3、开启ssh只监听本地IP。
4、尽量不给服务器公网IP。
搭建sftp服务器,特定用户访问限制到特定目录
在一些生产环境中,有时,用户需要传数据到服务器,但是配置ftp服务比较麻烦,此时,我们可以为用户创建sftp账户,让用户使用sftp来上传下载所需的数据。Sftp账号即为系统账号,将账户密码给用户,用户除了能登录sftp上传下载数据外,还可以访问系统中的其他目录,由此,给我们的系统带来了安全隐患,再次,我们需要配置用户只能通过sftp登录系统下载上传所需的数据。
//创建sftp用户
useradd sftptest
//创建密码
echo sftptest | passwd --stdin sftptest
//编辑ssh配置文件。
#Subsystem sftp /usr/libexec/openssh/sftp-server //注释掉此行并添加以下代码 Subsystem sftp internal-sftp Match User sftptest //此处设置控制的用户,也可以设置为组 ChrootDirectory /home/sftptest //允许用户访问的目录,此处我们设置为用户家目录 X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp//重启ssh重启服务。 /etc/init.d/sshd reload//设置用户访问目录的权限,这样linux和windows都可以访问。(此目录变成了根目录)
mkdir /home/sftptestcd /homechown root:root /home/sftptest/ //Sftp用户访问目录需要设置所有者和所属组的权限为root,权限为755.但此目录下的文件及目录的权限可根据需求任意设置。
chmod 755 /home/sftptest/usermod sftptest -s /sbin/nologin //设置该sftp账号不允许登录
systemctl reload sshd//设置目录上传权限。
mkdir /home/sftptest/testchown sftptest:sftptest /home/sftptest/test//使用MoBa测试,一切正常。这样实现了:/home/sftptest目录实现下载。/home/sftptest/test目录实现下载和上传。
Telnet
centos 6
1、安装Telnet
yum -y install telnet-server.x86_64 yum -y install telnet.x86_64 yum -y install xinetd.x86_64
2、设置开机启动
chkconfig telnet on
3、修改配置文件
vim /etc/xinetd.d/telnet 将”disable= yes”改成” disable=no”
4、创建telnet用户
useradd telnet
passwd telnet
telnet@123@ABC
5、开启service
service xinetd restart
6、iptables防火墙开启23端口(可选)
centos 7
1、安装telnet
yum install telnet-server.x86_64 -y yum install telnet.x86_64 -y yum install xinetd.x86_64 -y
2、默认情况下不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置
vim /etc/securetty
添加以下代码pts/0pts/1
3、创建telnet用户
useradd telnet
passwd telnet
telnet@123@ABC
4、启动telnet服务和设置开机自启
systemctl start telnet.socket && systemctl start xinetd
systemctl enable xinetd.service && systemctl enable telnet.socket
5、关闭telnet服务和关闭telnet自启动
systemctl stop telnet.socket && systemctl stop xinetd
systemctl disable telnet.socket && systemctl disable xinetd