SSH分openssh-client和openssh-server

如果你只是想登陆别的机器的SSH只需要安装openssh-client。ubuntu有默认安装,如果没有则使用如下命令安装:

1
2
$ sudo apt-get update
$ sudo apt-get install openssh-client

如果要使本机开放SSH服务就需要安装openssh-server:

1
2
$sudo apt-get update
$sudo apt-get install openssh-server

查看安装的SSH服务

1
$ dpkg -l | grep ssh

看是否有已经安装上的openssh-client和openssh-server

查看启动的服务及停止服务

1
$ ps -e | grep ssh

如果看到sshd的话,则说明启动了。
如果没有则可以这样启动(二选一即可):

1
2
$ sudo /etc/init.d/ssh start
$ sudo service ssh start

配置相关:
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。(或把配置文件中的”PermitRootLogin without-password”加一个”#”号,把它注释掉,再增加一句”PermitRootLogin yes”)
然后重启SSH服务:

1
2
$ sudo /etc/init.d/ssh stop
$ sudo /etc/init.d/ssh start

登录SSH

远程主机的 IP 是 202.206.64.33 或者是 域名 www.hebust.edu.cn, 用户名是 katherine
使用如下命令进行登录(二选一即可):

1
2
$ ssh katherine@202.206.64.33
$ ssh katherine@www.hebust.edu.cn

然后会提示输入密码,输入对应用户名的密码即可。

如果希望通过SSH运行图形程序,可以使用如下命令:

1
$ ssh -X username@address

断开连接:

1
$ exit

修改文件

如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的某些文件, 那么只要登录即可。

传输(上传、下载)文件

SSH的另一个用途就是传输文件。
sftp命令可以实现这个功能。sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。

下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作。

终端输入命令(二选一):

1
2
$ sftp katherine@202.206.64.33 
$ sftp katehrine@www.hebust.edu.cn

回车提示输入密码,然后进入提示符。

sftp>

下载

sftp> get /var/www/fuyatao/index.php /home/fuyatao/
这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php 下载到本地 /home/fuyatao/目录下。

上传

sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/
这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。

你如果不知道远程主机的目录是什么样, pwd命令可以帮您查询远程主机的当前路径。查询本机当前工作目录 lpwd.

改变路径可以用 cd 命令,改变本机路径可以用 lcd 命令。
ls rm rmdir mkdir 这些命令都可以使用。
同理调用本机都是加 l , 即 lls lrm.

如果要离开 sftp ,使用 exit 或 quit、 bye 等命令均可。
详细情况可以查阅 man sftp。

如果觉得在命令行模式下不太方便,可以使用:
sudo apt-get install gftp
在图形界面下操作就简便多了。