1 安装ssh_server:
sudo apt-get install openssh-server
linux中的网络服务在文件夹 /etc/init.d/中都能找到,以ssh服务为例:
要启动某个服务,可用如下格式:
sudo /etc/init.d/ssh start
停止服务
sudo /etc/init.d/ssh stop
重启
sudo /etc/init.d/ssh restart
还有另外一种方式完成一个服务的启动、停止、重启,如:
service ssh start
service ssh stop
service ssh restart
linux中服务的配置文件:有些保存在/etc/服务名/ 目录下,以ssh为例:
ssh服务的配置文件保存在目录 /etc/ssh/ 中,具体是/etc/ssh/sshd_config (可以看出,服务的配置文件名是以该服务对应的进程名命名的)
有些服务的配置文件则以 服务进程名.conf 名字为文件名直接保存在 /etc 目录下,以vsftpd服务为例:
vsftp服务的配置文件为 /etc/vsftpd.conf
2 在主机上添加一个用户:
先为用户创建根目录: mkdir /home/test
添加用户:useradd -d /home/test -s /bin/sh test
修改文件属主: chown test:test test
3 为用户 test 设置密码:
以管理员身份登录后,执行:
passwd test
按照提示,输入密码即可。
4 完成上面的配置后,确保服务已经打开(可用ps命令查看),然后用户就可在Windows或者Unix下通过任 意终端登录到我们的服务中。
5 登录openssh-server时候,会发现要等很长时间,服务器才返回输入密码的提示语。原因在于openssh-server默认情况下会根据用户的IP地址,反向查询DNS,从而导致延时很大。其中具体原因还有待进一步研究 ^_^ 。可以通过在配置文件中关闭这种功能来提速客户端的访问。具体做法是,在配置文件/etc/ssh/sshd_config中添加如下两行即可:
GSSAPIAuthentication no
UseDNS no
若原来已经有
UseDNS yes,则把yes改为no即可。
重启服务:
sudo service ssh restart
再次登录,“网速”变快了,呵呵
另外,SSH还可实现主机之间免验证登录。假设要从本地Linux hostA 在用户userA下登录到远程Linux hostB的用户userB下,具体做法为:
1.在本地执行:
ssh-keygen
一路回车即可。这样,就会在/home/userA/.ssh/目录下生成公私密钥对,
公钥为:id_rsa.pub
私钥为:id_rsa
2.将本地/home/userA/.ssh/id_rsa.pub 文件传到远程主机hostB,远程主机中具体的目标路径为:
/home/userB/.ssh/id_rsa.pub
3.在远程主机hostB中执行:
cat /home/userB/.ssh/id_rsa.pub >> /home/userB/.ssh/authorized_keys
或者:
move /home/userB/.ssh/id_rsa.pub /home/userB/.ssh/authorized_keys
4.在本地主机hostA中,确保ssh-agent已经运行,可通过如下命令查看:
ps -ef | grep ssh-agent
若没有运行,则运行如下命令:
ssh-agent
5.添加id_rsa到ssh-agent,具体命令为:
ssh-add id_rsa
6.完成以上步骤后,执行:
ssh hostB(主机B的ip地址)
即可实现免验证登录
Ubuntu9.10 用SSH实现服务器
最新推荐文章于 2024-08-19 17:13:46 发布