ssh浅谈

qinyihao

2021-05-05 00:43:00

Personal

前面看到#340日报的如下内容: ![img](https://tva1.sinaimg.cn/large/008i3skNgy1gq6tea1flhj30eg0cbtb3.jpg) > ~~就我个人来说,ssh进省队对我的意义,不能不说非常重大。 那么, 要想清楚,ssh进省队,到底是一种怎么样的存在。 吉姆·罗恩曾经说过,要么你主宰生活,要么你被生活主宰。带着这句话,我们还要更加慎重的审视这个问题: 莎士比亚曾经说过,本来无望的事,大胆尝试,往往能成功。这不禁令我深思。 这种事实对本人来说意义重大,相信对这个世界也是有一定意义的。 生活中,若ssh进省队出现了,我们就不得不考虑它出现了的事实。 对我个人而言,ssh进省队不仅仅是一个重大的事件,还可能会改变我的人生。 ssh进省队因何而发生? 所谓ssh进省队,关键是ssh进省队需要如何写。~~ 所以,我想出一篇关于ssh的真实介绍。 ## ssh的定义 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。(reference[1]:ssh (安全外壳协议)) [1]: https://baike.baidu.com/item/ssh/10407 "ssh (安全外壳协议)" ## 如何使用ssh 像#340中所述的`NOI Linux`是自带ssh的(准确来说,所有的POSIX系统都自带有ssh) 这里用我的Mac进行示范: ### 登陆远程机 首先,打开terminal(即:终端) 如果您不知道ssh是如何使用的,~~请在terminal内输入`man ssh`,自己去读英语~~,那么他的命令行格式是: ```bash ssh 用户名@主机IP ``` 假如我要远程登录IP为`149.28.32.10`,用户名为root时,就应该输入 ```bash ssh [email protected] ``` 像这样: ![image-20210504235203977](https://tva1.sinaimg.cn/large/008i3skNgy1gq6tzenatij30v80jygph.jpg) 您应当知道这个密码,输入后登陆完成。 ![image-20210504235320550](https://tva1.sinaimg.cn/large/008i3skNgy1gq6u0qoe32j30ve0jy0z5.jpg) ### 使用ssh #### 写代码 您可以先使用`cd`命令转换到您想使用的工作目录。 比如说,我这里使用`./tmp`作为目录,就是这样的: ![image-20210504235623175](https://tva1.sinaimg.cn/large/008i3skNgy1gq6u3ws2e8j30vc0k27b8.jpg) 当然,使用`cd /tmp`也是可以的,能达到同样的效果。 结下来,如果您要进行文本编辑的话,推荐vim。 在界面中输入`vim 1.cpp`可以创建`1.cpp`并进行编辑。 ![image-20210505000132493](https://tva1.sinaimg.cn/large/008i3skNgy1gq6u99i52uj30ve0k6ad7.jpg) 将您要编辑的文件输入完成后,输入`:wq`(write&quit)进行保存并关闭vim。 ![image-20210505000814364](https://tva1.sinaimg.cn/large/008i3skNgy1gq6ug8g16gj30v60kctch.jpg) ~~对没错它还有自动语法高亮功能~~ 退出后,进行编译运行:`g++ 1.cpp -o 1 && ./1`(因为博主的远程机过于低配,g++装不上去,所以后面的操作都在与之同理的macOS上运行。) ![image-20210505001407315](https://tva1.sinaimg.cn/large/008i3skNgy1gq6umcu39tj30uw0kagwu.jpg) 这样的时候,您就可以输入您的输入数据了: ![image-20210505001555810](https://tva1.sinaimg.cn/large/008i3skNgy1gq6uo8fqrxj30v20iodq1.jpg) 输出不用我展示了吧( #### 传文件 ~~这边建议使用ftp呢(~~ 比如说,您要将本地的`1.cpp`传到`149.28.32.10`中`root`用户的`/tmp`文件夹中,您应该这样: ![image-20210505002011979](https://tva1.sinaimg.cn/large/008i3skNgy1gq6usompllj30v60k449m.jpg) 这样就是好了: ![image-20210505002104345](https://tva1.sinaimg.cn/large/008i3skNgy1gq6utlt6zfj30vc0kcwph.jpg) ### 注意 请勿在各种正式考试中使用ssh,如使用,后果本人概不负责。 ps:关闭ssh可以用如下命令(其实这个是删除ssh服务的,从根源解决) ```bash sudo rm -f /etc/init/ssh.conf ``` 或者: ```bash service ssh stop ``` 或者: ```bash pkill sshd ``` ## bonus 其他Linux命令: 1. `cat` `cat`命令是用来显示文件内容的。 用法:(假设要显示`1.cpp`) ```bash [root@vultr ~]# cat 1.cpp ``` 2. `sudo` 严格来说,这不是个命令。 在任何命令前加`sudo`,那么这个命令就会被用最高权限运行。 3. `ls` `ls`命令为英文单词 list 的缩写,正如英文单词 list 的意思,其功能是列出指定目录下的内容及其相关属性信息。(reference[2]:ls命令 – 显示指定工作目录下的内容及属性信息) 用法: 1. 列出所有文件(包括隐藏文件): ```bash [root@vultr ~]# ls -a ``` 2. 列出所有文件(包括隐藏文件) + 所有文件的详细信息: ```bash [root@vultr ~]# ls -al ``` [2]: https://www.linuxcool.com/ls "ls命令 – 显示指定工作目录下的内容及属性信息" 4. `rm` `rm`是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。` rm`也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在`/`(根目录)下执行`rm * -rf`(递归删除))。**所以,我们在执行`rm`之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。**(reference[3]:rm命令 – 移除文件或目录) 用法: 1. 删除前逐一询问确认: ```bash [root@vultr ~]# rm -i test.txt.bz2 rm: remove regular file `test.txt.bz2'? ``` 等同于: ```bash [root@vultr ~]# rm test.txt.bz2 rm: remove regular file `test.txt.bz2'? ``` 2. 直接删除,不会有任何提示: ```bash [root@vultr ~]# rm -f test.txt.bz2 ``` [3]: https://www.linuxcool.com/rm "rm命令 – 移除文件或目录" **last but not least:** **彩蛋:** ![image-20210505005356749](https://tva1.sinaimg.cn/large/008i3skNgy1gq6vrstnh8j30gc06a76r.jpg) ![](https://i.loli.net/2021/09/18/jzxPD7fmGSOCRUI.png) ## upd1 time: 2021/09/14 21:50 感谢纠错 ![](https://tva1.sinaimg.cn/large/008i3skNgy1gughv01vs0j62lc0m0jw902.jpg)