Linux系统和windows系统ssh命令

ssh命令介绍

ssh连接原理

SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。ssh默认连接Port 22。

ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)。ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接

ssh工作机制

服务器启动的时候自己产生一个密钥(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和IP地址,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结合成密钥对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

ssh加密技术

加密技术:传输过程,数据加密。

  1. SSH1没有对客户端的秘钥进行校验,很容易被植入恶意代码
  2. SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,Server都会检查数据来源的正确性,避免黑客入侵。
  3. SSH2支持RSA和DSA密钥
  • SA:digital signature Algorithm 数字签名
  • RSA:既可以数字签名又可以加密

windows下如何使用ssh命令

windows10自带OpenSSH

查找以下路径,若有OpenSSH,则说明Windows系统有自带的ssh相关功能,可以直接在路径中输入cmd打开命令行窗口进行操作。

C:\Windows\System32\OpenSSH

在需要打开命令行窗口的路径下输入cmd然后回车即可或者直接在搜索栏输入cmd
打开cmd窗口

windows无自带的OpenSSH

1.手动下载安装OpenSSH
(1)使用浏览器打开官网:
https://www.mls-software.com/opensshd.html
(2)下载setupssh,下拉页面找到New Version
(3)点击 setupssh-****.exe 进行下载
(4)安装setupssh:
运行下载完成的setupssh安装文件
(5)同意协议:
接受许可证协议,进行下一步操作
(6)选择组件:
只保留客户端即可
(7)选择安装位置:
可更改安装位置,进行下一步操作
(8)完成安装
(9)使用Windows键+R打开运行窗口:
输入cmd,确定
(10) 登录远程服务:
输入命令:ssh –p端口号 用户名@IP地址
例如:ssh –p22 [email protected]

ssh常见命令

ssh常用功能

1.登录

ssh -p22 [email protected] 

2.直接执行命令 -->最好全路径

ssh [email protected] ls -ltr /backup/data                                  
ssh [email protected] /bin/ls -ltr /backup/data

3.查看已知主机

cat /root/.ssh/known_hosts 

4.ssh远程执行sudo命令

ssh -t [email protected] sudo rsync hosts /etc/    

5.scp -->远程文件的安全(加密)拷贝

 1. 从服务器下载文件
 scp username@servername:/remote_path/filename ~/local_destination
      
 2. 上传本地文件到服务器
scp ~/local_path/local_filename username@servername:/remote_path

 3. 从服务器下载整个目录
scp -r username@servername:/remote_path/remote_dir/ ~/local_destination    

 4. 上传整个目录到服务器
scp  -r ~/local_dir username@servername:/remote_path/remote_dir

 - example:                    
scp -P22 -r -p /home/omd/h.txt [email protected]:/home/omd/

6.ssh自带的sftp功能

(1)Window和Linux的传输工具                                      
wincp   
filezip                                   
sftp  -->基于ssh的安全加密传输                                   
samba                 
(2)sftp客户端连接                                    
sftp -oPort=22 [email protected]                                    
put /etc/hosts /tmp                                   
get /etc/hosts /home/omd          

ssh常见命令参数

usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address]
[-c cipher_spec][-D [bind_address:]port] [-e escape_char] 
[-F configfile][-i identity_file][-L [bind_address:]port:host:hostport]           
[-l login_name] [-m mac_spec] [-O ctl_cmd] 
[-o option] [-p port][-R [bind_address:]port:host:hostport] 
[-S ctl_path][-W host:port] [-w local_tun[:remote_tun]]           
[user@]hostname [command]

后台ssh服务的相关

# 查询openssl软件    
rpm -qa openssh openssl

# 查询sshd进程    
ps -ef | grep ssh        
--> /usr/sbin/sshd

# 查看ssh端口    
netstat -lntup | grep ssh      
ss | grep ssh                    (效果同上,同下,好用)    
netstat -a | grep ssh            (记住这个)    
netstat -lnt | grep 22           (查看22端口有没有开/ssh服务有没有开启)
netstat -lnt | grep ssh | wc -l  (只要大于2个就是ssh服务就是好的)

# 查看ssh的秘钥目录    
ll /root/.ssh/known_hosts        (当前用户家目录的.ssh目录下)

# ssh的配置文件    
cat /etc/ssh/sshd_config   

# ssh服务的关闭    
service sshd stop

# ssh服务的开启:    
service sshd start

# ssh服务的重启    
service sshd reload    [停止进程后重启] ==> 推荐    
service sshd restart   [干掉进程后重启] ==> 不推荐

# ssh远程登录    
ssh 192.168.1.100      		# 默认利用当前宿主用户的用户名登录    
ssh omd@192.168.1.100 		# 利用远程机的用户登录    
ssh omd@192.168.1.100  -o stricthostkeychecking=no # 首次登陆免输yes登录    
ssh omd@192.168.1.100 "ls /home/omd"  # 当前服务器A远程登录服务器B后执行某个命令    
ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh"  # 当前服务器A远程登录服务器B后执行某个脚本

ssh免密设置

1、进入用户的家目录

[root@localhost ~] # cd /root/. 	【root用户就在root目录下的.ssh目录】
[root@localhost ~] # cd /home/omd/.ssh/ 【普通用户就是在家目录下的.ssh目录】

2、根据DSA算法生成私钥和公钥【默认建立在当前用户的家目录】

[[email protected]] # ssh-keygen -t dsa     # 一路回车即可   
             id_dsa         -->私钥(钥匙)                 
             id_dsa.pub     -->公钥()

3.拷贝公钥给目标服务器

[root@localhost .ssh] # ssh-copy-id -i id_dsa.pub [email protected]              【 使用ssh登录的默认端口22】
[root@localhost .ssh] # ssh-copy-id -i id_dsa.pub –p 666 [email protected]   	 【使用ssh登录设置的端口666】

4.查看目标服务器生成的文件

[omd@localhost .ssh]$ ll /home/omd/.ssh/authorized_keys

5.免密码登录目标服务器

ssh [email protected]
发布了10 篇原创文章 · 获赞 0 · 访问量 73

猜你喜欢

转载自blog.csdn.net/qq_42499257/article/details/105557898