感谢原作者分享。
Linux系统可以通过远程进行登录,方法为通过命令行执行ssh命令。登录后,在命令行看到的信息以及能够执行的操作如同在本地命令行一样。同时还可以通过命令行的scp命令执行远程服务器内部及远程服务器至本地客户端之间的文件复制。简单操作命令如下:
ssh远程登录
ssh server_IP(192.168.6.55) # 默认利用当前宿主用户的用户名登录
ssh username@server_IP(192.168.6.55) # 利用远程机的用户登录
ssh服务的重启
service sshd reload [停止进程后重启] ==> 推荐
service sshd restart [干掉进程后重启] ==> 不推荐
ssh服务的关闭
service sshd stop
ssh服务的开启:
service sshd start
查询sshd进程
ps -ef | grep ssh
查看ssh的秘钥目录
ll /root/.ssh/known_hosts # 当前用户家目录的.ssh目录下
ssh的配置文件
cat /etc/ssh/sshd_config
登录
ssh -p22 omd@192.168.25.137
直接执行命令 -->最好全路径
ssh root@192.168.25.137 ls -ltr /backup/data
==>ssh root@192.168.25.137 /bin/ls -ltr /backup/data
查看已知主机
cat /root/.ssh/known_hosts
ssh远程执行sudo命令
ssh -t omd@192.168.25.137 sudo rsync hosts /etc/
scp
1.功能 -->远程文件的安全(加密)拷贝
scp -P22 -r -p /home/omd/h.txt omd@192.168.25.137:/home/omd/
2.scp知识小结
scp是加密远程拷贝,cp为本地拷贝
可以推送过去,也可以拉过来
每次都是全量拷贝(效率不高,适合第一次),增量拷贝用rsync
ssh自带的sftp功能
1.Window和Linux的传输工具
wincp filezip
sftp -->基于ssh的安全加密传输
samba
2.sftp客户端连接
sftp -oPort=22 root@192.168.25.137
put /etc/hosts /tmp
get /etc/hosts /home/omd
3.sftp小结:
1.linux下使用命令: sftp -oPort=22 root@x.x.x.x
2.put加客户端本地路径上传
3.get下载服务器端内容到本地
4.远程连接默认连接用户的家目录
ubuntu18.04
查看是否开启了ssh服务是否安装,使用命令:
sudo ps -ef |grep sshd
安装ssh服务
sudo apt-get install openssh-server
开启和关闭服务
开启ssh服务:systemctl start ssh
关闭ssh服务:systemctl stop ssh
SSH的工作机制
服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。
SSH的加密技术
加密技术:传输过程,数据加密。
1.SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
2.SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
SSH2支持RSA和DSA密钥
DSA:digital signature Algorithm 数字签名
RSA:既可以数字签名又可以加密
SSH知识小结
1.SSH是安全的加密协议,用于远程连接Linux服务器
2.SSH的默认端口是22,安全协议版本是SSH2
3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器
4.SSH客户端包含ssh连接命令和远程拷贝scp命令等