在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
客户端安装 ssh 一般是远程安全登陆 如果是不需要配置ssh服务,只需下载安装相应的客户端就行了 sudo apt-get install openssh-client 安装成功后,在终端上敲上ssh , 如果有各种选项提示,就说明安装成功了 服务配置 如果需要配置相应的服务,也不是很难 sudo apt-get install openssh-server 一般就会自动启动服务了(以后开机也是如此) 为了验证下 我们尝试一下指令 ps -e | grep sshd 出现相应的进程信息就说明ssh服务正常启动了 配置文件 一般来说ssh服务默认端口是22,可以通过指令验证下: sudo netstat -ntlp | grep ssh 如果有需要该服务端口,可以 修改/etc/ssh/sshd_config 文件 vim /etc/ssh/sshd_config 修改Port 22 为 Port XXX(任意你想要的端口号,不过要验证该端口是否已被占用,可以通过netstat命令) 修改后可能会遇到无法保存的清况,因为在linux 上会有各种权限问题,所以只要改下文件的权限就可以了 sudo chmod 777 /etc/ssh/sshd_config 然后就能保存了,为了安全,你要在保存后把权限改回去 sudo chmod 644 /etc/ssh/sshd_config 最后重新启动服务就行了 sudo service ssh restart 或者 sudo /etc/init.d/ssh 就可以重新启动了 登陆验证 接下来就是登陆了,直接在终端上敲指令 ssh username@ip (username 是你的用户名 , ip是你的主机ip) 然后输入密码,就行啦 可以先在自己主机上体验,只需要把ip 设置为 127.0.0.1就行了 也可以远程登陆,只需要把ip 改为远程主机的ip就行啦 无密码登陆的两种方法 一般对程序员来说,远程登陆进行各种操作是家常便饭,所以我们可能会厌烦每次都输密码 所以我们可以先写个shell脚本实现自动登陆,附带代码如下,阅读代码可能要了解下expect工具 然后还有一种实现的方式,就是讲自己密钥对里面的公钥放在远程主机的.ssh 文件夹下面的authorized_keys文件中, 我们知道,我们这种远程登陆是基于ssh, 所以就有密钥对这个概念了,如果大家对密钥不是很理解,可以参考下我之前关于 数字签名的博文,但是要比较深刻理解的可能需要参考更多的资料,这里推荐下大家百度下阮一峰的博客 首先,在自己当前用户的主目录下查找有没有.ssh这个目录,如果没有可能需要生成密钥对了 在终端敲下指令 ssh-keygen -t rsa 会在当前用户的主目录生成.ssh文件夹,文件夹中有id_rsa(私钥),和id_rsa.pub(公钥)两个文件 我们要做的就是ssh远程登陆到远程主机,将我们的公钥放到远程主机的.ssh目录下的authorized_keys文件中 这样以后我们就可以不需要密码就实现远程登陆了 远程上传文件或者拷贝文件的指令: scp 将本地文件拷贝到远程:scp filename username@ip:path 从远程将文件拷回本地:scp username@ip:filename 本地路径 如果是目录操作,只需要加上 -r 选项即可 远程文件操作可视化 然后经常敲命令对有些人来说也是比较烦的,毕竟可视化的话信息量更大也更人性化, 如果有这方面需求的,推荐下Ubuntu软件中心的一款ftp软件 fileZilla ,直接在软件中心下载安装就行了 操作起来可能更方便些 然后对于远程操作,就没什么可以讲的了,只讲一点,习惯用vim文本编辑器,因为你别无选择 扯下git ssh 或者 git 设置无密码自动登陆远程仓库 一般都会有密码验证,不过可以通过设置远程主机给本地主机提供便利 可以通过公钥的方式 说道这里,可以扯下git题外话(如果只是想了解ssh操作的童鞋可以止步了): 如果用过git的人应该也知道git也是基于ssh的,所以,我们也可以通过相似的方法来实现 不需要密码就直接git pull , git push,这样也是极大方便了我们的开发 因为现如今的开发一般都是利用git分布式版本控制系统来进行协作开发 我们可以在自己的主机上建立git 仓库,也可以在github上建立,直接把代码托管到github已经是当下的趋势 哈哈,算了,不水啦。 |
请发表评论